onEnter,它肯定是晚于init被调用
onExit():与onEnter相反。
onEnter和onExit他们的区别是
CCNode子类的构造函数和析构函数只会被调用一次,而onEnter和onExit则会被调用不定数次。
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框架中onEnter与init方法的区别及应用场景。onEnter在Layer可见时被调用,并且会在从后台返回前台时再次触发,而init则是在对象初始化时调用。两者都是CCNode类的方法,但onEnter可能被多次调用。

7199

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



