学习Cocos2d-x游戏引擎的第5天,在这几天的学习中,发现Cocos2d-x的确是一个简单易用但功能强大的2D游戏开发引擎(虽然我也没有接触过其他的引擎~~~~(>_<)~~~~ )。感觉挺不错,通过引擎自带的TestCpp项目学到了挺多东西,嗨皮ing~\(≧▽≦)/~啦啦啦!!
细节决定成败!在学习Cocos2d-x的过程中也特别注意到一些细节问题,在此特意做一些简单的总结,希望能对你我未来的进一步学习有一些小小滴帮助~~
我会陆续将自己碰到的一些细节问题写到这篇博文中来的,也希望大家在评论中进行补充哦\(^o^)/~
你有一个想法,我有一个想法,交换以后我们就都有两个想法,交流以后我们可以产生更多的想法。我突然感觉自己补充的最后一句好经典啊,O(∩_∩)O哈哈~
废话少说,下面就开始吧:
1._setZOrder和setZOrder的区别
ZOrder相关设置,ZOrder是指在Z轴方向的顺序,指示对象的覆盖关系,其中_setZOrder只是改变本对象的成员函数,setZOrder除了改变本对象成员,还会调用父节点相关函数改变该对象在父对象中的位置
具体实现如下:
void CCNode::_setZOrder(int z) { m_nZOrder = z; }
void CCNode::setZOrder(int z) { _setZOrder(z); if (m_pParent) { m_pParent->reorderChild(this, z); } }
2.VertexZ和ZOrderVertexZ : OpenGZ的Z向量,这个可能会破坏cocos2dx的ZOrder关系
ZOrder : 是指在Z轴方向的顺序,指示对象的覆盖关系
3.安全删除对象
删除对象之前最好先执行一次retain,以防止删除不存在的对象而产生内存错误。
CCSprite* sprite = (CCSprite*)(getChildByTag(10)); sprite->retain(); removeChild(sprite, true);
Cocos2d-x程序中的一些小细节
最新推荐文章于 2022-12-14 19:36:20 发布