这学期一直在学cocs2d-x,虽然一直在写,但总有的东西记不住,东忘西忘,这下干脆把看到的有用的都写在这里,以后说不定用得着。
(1)重置子类的Z轴遮挡顺序
reorderChild(cocos2d::CCnode*pChild,int zOrder);
这个函数的作用是:设置子类对象pChild,让其重新将z轴顺序放在zOrder值上。(就是重新设置子节点的层数位置,是在第一层,还是第几层)
(2)在cocos2d-x中,创建的局部变量cocos2d-x是会自动管理,无需担心这个对象什么时间删除,也就是不用对其进行内存操作;而成员变量cocos2d-x就不管了,需要自己手动删除管理内存;所以应尽量将对象定义成局部变量。
如果声明了成员变量,那么务必在本类的析构函数中进行释放。在cocos2d-x中,对retain、release及删除操作都定义了对应的宏方法,这些方法说明如下:
CC_SAFE_RETAIN(p):安全retain操作。
CC_SAFE_RELEASE(p):安全release操作。
CC_SAFE_FREE(p):安全释放操作。
CC_SAFE_RELEASE_NULL(p):安全置空操作。
CC_SAFE_DELETE(p):安全删除操作。
CC_SAFE_DELETE_ARRAY(p):安全删除操作。
使用这些宏进行删除、release等操作前,cocos2d-x引擎都会进行安全判定,然后再执行操作。
CCAction动作系列的使用,应尽量避免频繁调用,比如精灵的移动我们没有必要使用动作CCMoveTo、CCMoveBy去实现,而是在一个不断调用的函数(bool Update(float dt))中去setPosition即可。
(3)文本的输入,用于游戏排行榜上玩家的自定义名称,填写帐号、密码等;创建函数为CCTextFieldTTF::create(); 在CCTextFieldTTF中除了可以getString和setString外,还有两个重要方法:
attachWithIME():此函数是输入开关,当CCTextFieldTTF函数被调用后,cocos2d-x默认会调出当前设备的虚拟键盘。
detachWithIME(): 关闭虚拟键盘。
除此之外,我们需要对用户在输入--完成输入--关闭键盘时的每个状态进行监控,此时需要用到CCTextFieldDelegate这个接口来实现;具体步骤如下所示
1、 class HelloWorld : public cocos2d::CCLayer, public cocos2d::CCTextFieldDelegate{......}
2、重写回调函数
3、在cpp文件中实现重写的回调函数
4、调用CCTextFieldTTF的setDelegate绑定接口