关于Cocos2d-x中init方法和onEnter方法的区别

init()和onEnter()这两个方法都是写实例化对象的类(比如继承自Node的一些类等等)的时候用到的方法。

一般都是public类型下面的

bool init();

void onEnter();

两个方法在实现的时候都要先执行父类方法,比如

Node::init();

Node::onEnter();

 

注意:

1.init()在类的初始化时只会调用一次。

 

2.onEnter在该类被载入场景的时候被调用,可能会发生多次。

 

3.Node* nd = new Node();

这种情况下,只会触发onEnter。

 

4.auto nd = Node::create();

这样情况下,既会触发init()方法,也会触发onEnter()方法,被调用的顺序是先init(),后onEnter()。

posted @ 2016-08-10 20:20  杭者  阅读(861)  评论(0编辑  收藏  举报