我所理解的Cocos2d-x第一章笔记

我所理解的Cocos2d-x第一章笔记
主要介绍了3.0之于2.0的改变
Cocos2d-x 3.0 新特性 使用C++风格
        3.0                     2.0
1 ,使用命名空间    代替    “CC”前缀
2 ,新的clone() 直接返回一个加入 autorelease 的对象
3 ,getInstance() 和 destroyInstance() 来代替 sharedXXX() 和 endXXX()
在Cocos2d-x 3.0中,TextureCache、Dispatcher等对象不再是全局的单例,属于Director
auto tc = Director:: getInstance() -> getTextureCache()
4 ,使用更明确的get前缀来表示属性获取方法
  node->getBoundingBox()       node->boundingBox()
  sprite->getNodeToParentTransform()  sprite->nodeToParentTransform()
5 ,所有的属性获取方法使用const声明来限制其对自身属性的修改
   virtual float getScale() const;     virtual float getScale();
6 , 对于POD类型,使用引用参数来代替指针传递,包括TexParams、Point、Size等,这些对象被分配到栈中,更易于内存的管理
 void setTexParameters(constccTexParams & texParams); void setTexParameters(constccTexParams * texParams);
7 , Cocos2d-x 3.0 使用了部分C++的特性,包括std::function、强类型枚举、std::thread、override和final关键字、移动语义等。
8 , std::function可以被传递lambda表达式,亦可通过std::bind绑定一个方法指针。
fe    : CallFunc::create(
[&](){auto sprite = Sprite::create("sp.png");
 this->addChild(sprite);}
 )
 9 , 表示枚举和常量3.0使用强枚举,之前用k前缀来表示。但是这些参数会被int型变量替换
  Texture2D::PixelFormat::RGBA8888   kCCTexture2DPixelFormat_RGBA8888
  Director::Projection::CUSTOM          kCCDirectorProjectopnCustom
  Color3B::GREEN                             ccGREEN
  Point::ZERO                                CCPointZero
  Size:ZERO                                  CCSizeZero
10 , override用来在编译时检测一些可能的重载错误。当一个方法被声明为override关键字时,必须能在其父类中找到相应的可重载方法,否则编译器将产生错误
class Sprite : public Node {
    bool isFlipY(void) const;
    void setFlipY(bool bFlipY);
    // Overrides
    virtual void setTexture(Texture2D *texture) override;
    virtual Texture2D* getTexture() const override;
}
这个的相关知识过时,对自己也没有什么帮助。先暂停,面试可看












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值