cocos 2.x 与 3.x 的区别

1.命名空间去掉了Object-c风格的前缀“CC”,比如CCSprite更名为Sprite等,一些全局方法也被加入到相应的命名空间内。比如与绘制几何单元相关的方法加入到DrawPrimitives命名空间内。与OpenGL ES相关的命令则使用GL命名空间。
2.x
3.x
CCSprite
Sprite
ccDrawPoint()
DrawPrimitives:drawPoint()
ccGLBlendFunc()
GL::blendFunc()
 
2.使用clone()代替copy() 方法, copy() 方法用于深度复制一个对象,比如Action 广泛使用clone方法来避免对原对象的修改,也可以利用一些模版对象来动态的构造新的对象,以达到类似反射的效果。
且clone()方法直接返回一个加入自动回收池的对象,不需要调用者手动处理。
2.x
3.x
copy()
clone()
 
3.TextureCache, Dispatcher等对象不再是全局的单例,而是需要通过Director来获取实例。
 
4.使用更明确的get前缀来获取属性方法。
2.x
3.x
node->boundingBox
node->getBoundingBox()
sprite->nodetoParentTransform
sprite->getNodeToParentTransform()
 
5.所有的属性方法使用const 来限制对自身属性的修改
2.x
3.x
visual float getScale();
visual float getScale() const;
6.对于POD类型,使用引用参数代替指针传递,比如TextParams,Points等,这些对象将被分配到栈中,有助于内存管理。
// 2.x
void setTexParameters(ccTexParams* texParams);
 
// 3.x
void setTexParameters(const ccTexParams& texParams);
 

转载于:https://www.cnblogs.com/SkyflyBird/p/9832522.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值