![[3]Cocos2d-x之Node的CREATE_FUNC、create、init、onEnter方法,第1张 [3]Cocos2d-x之Node的CREATE_FUNC、create、init、onEnter方法,第1张](/aiimages/%5B3%5DCocos2d-x%E4%B9%8BNode%E7%9A%84CREATE_FUNC%E3%80%81create%E3%80%81init%E3%80%81onEnter%E6%96%B9%E6%B3%95.png)
Scene * Scene ::create(){ Scene *ret = new (std::nothrow) Scene (); if (ret && ret->init()) { ret->autorelease(); return ret; } else { CC_SAFE_DELETE (ret); return nullptr ; }} Scene的init方法设置显示内容的大小,Layer与Scene的init方法作用相同 bool Scene ::init(){ auto size = Director ::getInstance()->getWinSize(); return initWithSize(size);} Node的init方法 bool Node ::init(){ return true ;} 当我们使用Scene与Layer的create方法创建实例时,可以通过重新实现init方法,达到我们想要做的一些初始化 *** 作,实现: 1、重写init()方法。 2、使用宏定义CREATE_FUN(Scene或Layer的子类),这个宏定义相当于从重新定义了create方法,调用create等于调用重新定义的CREATE_FUN 二、init与onEnter 执行顺序:init->onEnter init在创建对象时会执行一次。 onEnter每次进入场景的时候都会被调用,cocos2d-x的注释:
| * Event callback that is invoked every time when Node enters the 'stage'. * If the Node enters the 'stage' with a Transition,this event is called when the Transition starts. * During onEnter you can't access a "sister/brother" node. * If you overrIDe onEnter,you shall call its parent's one,e.g.,Node::onEnter(). |
以上是内存溢出为你收集整理的[3]Cocos2d-x之Node的CREATE_FUNC、create、init、onEnter方法全部内容,希望文章能够帮你解决[3]Cocos2d-x之Node的CREATE_FUNC、create、init、onEnter方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)