摘要:
使用任何版本的Cocos2d-x(1.x,2.x,3.0),在onEnter中调用addChild,都要小心谨慎,因为它有可能导致两种莫名其妙的BUG,莫名其妙的BUG当然难以定位了!更何况这个BUG隐藏在引擎的底层。接下来是场景还原:在某个节点下,需要执行这样一段逻辑,在游戏场景中,添加几个节点,由于游戏场景就是该节点的父节点,于是就直接getParent然后调用父节点的addChild,在onEnter函数中添加看上去比较合适,因为这时候该节点的父节点可以访问,而在init函数中,还没有被添加到游戏场景中神奇的事情发生了,在这之后添加的节点,都无法播放动画了,而把节点添加的位置,移到该节点 阅读全文
摘要:
1 init()和onEnter()这俩个方法都是CCNode的方法。其区别如下: 2 3 1.其被调用的顺序是先init(),后onEnter()。 4 5 6 7 2.init()在类的初始化时只会调用一次。 8 9 10 11 3.onEnter在该类被载入场景的时候被调用,可能会发生多次。12 13 14 15 4.CCLayer* cclayer = new MyLayer();16 17 这种情况下,只会触发onEnter。18 19 5.CCLayer* cclayer = MyLayer::create();20 21 这样情况下,既会触发init()方法,也会... 阅读全文