constructor.name在PC打包后输出为空

  • Creator 版本: 3.8.2

  • 目标平台: Windows

在浏览器开发调试的时候是能正确读出类名的,native打包后就输出为空了。难道是因为打包后类名被混淆没有了?

我记得直接调用class.name是会被混淆,要用cc.js.getClassName

我试了一下, cc.js.getClassName在PC打包后输出是undefined :sweat_smile:感觉踩坑了,只能手工一个一个类名写死了

你代码导出的时候 类被压缩了, Cocso Creator 提供了 cc.js.getClassName 这么一个函数,但是遗憾的时候,当代码混淆后, ccclass 装饰过的类是能通过该方法拿到类名,但是自定义的类就拿不到了,自定义的类混淆后拿到的往往是"t",a 啥的

解决方法 借鉴这里 [https://blog.csdn.net/RICKShaozhiheng/article/details/87922938]

另外一种办法就是 导出构建的时候 选择不压缩 代码 看看 应该是可以的 就是勾选调试模式

野生creator驯服师不邀自来
image
你需要自己加一个标签类, 然后把类的名字传进去

1赞

还真可以,我自定义的类直接用ccclass填上类名就可以了

谢谢,可以了