版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013862108/article/details/81326683
版本cocos2d-x-3.17
基础编程注意事项
1. onEnter() 执行时机。
我写了一个layer类 var SnakeBody = cc.LayerColor.extend ({.....}); 当snakeBody被添加到场景中会触发它中的onEnter;当被添加到另一个Layer类中不会触发onEnter;
2. onEnter()中记得 要写this._super()
我写了一个layer类,里边ctor中使用到了 计划任务schedule;发现schedule不生效;原因它中onEnter()没有this._super(); 或者干脆onEnter()方法都不写也可以,写了就要调用super().
3. 切换场景,刚进入游戏场景在onEnter 中立马切换到游戏结束场景可能不正常。原因是什么呢就是:当前游戏场景可能一些工作还没完成,立即进入结束场景可能会造成场景的混乱,通过打断点可以看到这一个过程。
4. getPositionX(), 或者 getPositionY() 严重依赖实时位置会有问题
我在写贪吃蛇,身体节点移动原来是 获取上次此节点位置再加一个距离。在吃完豆子身体增加时,身体到一定长度,吃完豆子,增加一个节点,这时尾部节点会混乱(偏移身体);怀疑是使用getPosition的问题。因为刚创建此节点,立马获取它的位置可能有问题。或者 尾部节点刚setPosition ,立马获取Position可能有问题。