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];