cocos creator开发过程中问题记录

这篇博客记录了在使用Cocos Creator开发过程中遇到的一些问题,包括编辑器无法识别@property、'_assembler' of null错误、getComponent不是函数、跨节点坐标转换问题、非法目标异常、模拟器调试中的Pause on exception功能以及destroy与removeFromParent的正确使用。每个问题都提供了相应的解决方案,旨在帮助开发者提升开发效率和质量。
部署运行你感兴趣的模型镜像
1. 编辑器不能识别脚本里面@property类型,显示为null,脚本拖不上去

解决方案:

@property的类循环引用导致的,可以改变组件类型到cc.Node解决
2. Cannot read property ‘_assembler’ of null

解决方案:

场景某一个子节点 onload方法里抛出异常,导致后面所有的onload不能顺利执行,导致render组件未能初始化.
初始化onload的地方打断点调试跟踪,可具体定位查看具体错误位置
3. target.getComponent is not a function

解决方案:

button所依赖的节点从某个方法上发生了属性改变.检查Button类的节点绑定的一些属性节点对象
4. 跨多层节点坐标转换问题

解决方案:

先将目标节点转化为世界坐标,然后在转换成对应节点的坐标.
转换api: 
convertToWorldSpaceAR 
convertToNodeSpaceAR
5. Illegal target which doesn’t have uuid or instanceId

解决方案:

自定义组件类是否定义了属性 _id
6. 开启模拟器调试界面中的Pause on exception

开发调试的过程中,开启模拟器调试界面中的Pause on exception,该功能能够在程序发生异常的时候自动在发生异常处断点,并完好的保留错误现场。保持这个功能的开启能够有效提升开发效率和质量。

7. destroy 和 removeFromParent

调用一个节点的 removeFromParent 后,它不一定就能完全从内存中释放,因为有可能由于一些逻辑上的问题,导致程序中仍然引用到了这个对象。因此如果一个节点不再使用了,请直接调用它的 destroy 而不是 removeFromParent。destroy 不但会激活组件上的 onDestroy,还会降低内存泄露的几率,同时减轻内存泄露时的后果。总之,如果一个节点不再使用,destroy 就对了,不需要 removeFromParent 也不需要设置 parent 为 null

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值