为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

缥缈止盈 2018-10-28 00:00:20
cocos2d-x学习之onEnter和init的区别
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

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

查看完整回答
反对 回复 2018-11-09
  • 1 回答
  • 0 关注
  • 900 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信