cocos2d-x学习之onEnter和init的区别

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

你可能感兴趣的:(Class,layer)