CocosCreator碰到的常见问题 解决方案

本文列举了在使用CocosCreator过程中遇到的一些常见问题,包括脚本识别、节点交互、对象池、动画添加、坐标转换、物理系统、资源加载等方面,并提供了相应的解决方法。
摘要由CSDN通过智能技术生成

1>编辑器不能识别脚本里面@property类型,显示为null,脚本拖不上去

是@property的类循环引用导致的,可以改变组件类型到cc.Node解决

2> Cannot read property ‘_assembler’ of null ,切换场景时出现。

在这个案例中,场景某一个子节点 onload方法里抛出了一个错误,导致后面所有的onload不能顺利执行,导致render组件未能初始化

3>使用NodePool创建对象池,第一次使用放进去再取出 触摸事件不见了,再次添加也加不上。

这个问题花了我三个小时查出来,在此公布答案希望大家不要犯。我把node节点从父节点remove了,然后put进对象池,再取出来就没了点击事件。
解决方法有2 不要remove, 在remove里clearup置位false
4>使用代码添加animation不显示
还需要添加sprite,切记切记
5>跨多层节点转换坐标. 需要先将目标节点转化为世界坐标,然后在转换成对应节点的坐标.使用api:
convertToWorldSpaceAR
convertToNodeSpaceAR
6>碰到了带物理的节点与回收池异常的问题.从回收池出来的第二次利用的节点对implus调用反应动作的异常. 一开始以为是引擎bug.然而论坛反馈问题刚写到一半,忽然想到,
会不会事情倒过来了.第一次是异常的,第二次的表现才是正确的.为了验证这个猜想,将编辑器上的相关数据改动,一看,果然,第一次使用的是编辑器上的默认值.那么,为什么在代码中改动会不生效呢.
这要怪罪于我对物理系统并不怎么熟悉的缘故.须知改动任何的collider的属性,都要apply一下.这样引擎内部会重新生成box2d碰撞盒子.
7>removeFromParent方法并不会调用节点脚本上的onDestor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值