CCNode OnEnter()调用:
Class MyLayer:public CCLayer
{
};
1. MyLayer* layer = new MyLayer();
此时,会进行会onEnter回调。不会调用init()
2. CCLayer* layer = MyLayer::node();
此时,不会进行onEnter回调。会调用init()
都是CCNode类的方法,被调用顺序是先init,后onEnter;
init在类初始化时只会调用一次;
onEnter在该类(如CCLayer,CCSprite)被载入场景时被调用,可能会发生多次;
CCNode的子类,一般通过静态方法node来得到实例;而node方法的真正代码是:
return [[[self alloc] init] autorelease];
init在类初始化时只会调用一次;
onEnter在该类(如CCLayer,CCSprite)被载入场景时被调用,可能会发生多次;
CCNode的子类,一般通过静态方法node来得到实例;而node方法的真正代码是:
return [[[self alloc] init] autorelease];
本文介绍了Cocos2d-x中CCNode类的onEnter()和init()方法的调用顺序及区别。详细解释了通过new和node()方法创建CCNode子类实例时,这两个方法的调用时机不同,帮助开发者更好地理解Cocos2d-x的游戏层管理机制。

484

被折叠的 条评论
为什么被折叠?



