代码改变世界

cocos2dx 的一些宏的作用

2013-03-04 15:29  CoolJie  阅读(2687)  评论(0编辑  收藏  举报
  1. NS_CC_BEGIN cocos2d命名空间开始
  2. NS_CC_END  cocos2d命名空间结束
  3. USING_NS_CC 声明cocos2d命名空间
  4. CC_SYNTHESIZE_READONLY(varType, varName, funName)  声明一个成员变量以及get##funName函数,没有set函数代码如下:
    1 protected: varType varName;
    2 public: virtual varType get##funName(void) const { return varName; }
  5. CC_SYNTHESIZE_READONLY_PASS_BY_REF(varType, varName, funName) 类似CC_SYNTHESIZE_READONLY,不过get##funName返回的是成员变量的引用代码如下:
    1 protected: varType varName;
    2 
    3 public: virtual const varType& get##funName(void) const { return varName; }
  6. CC_SYNTHESIZE(varType, varName, funName) 声明一个成员变量以及get##funName和set##funName函数.并且函数声明和实现都有。代码如下:
    1 protected: varType varName;
    2 public: virtual varType get##funName(void) const { return varName; }
    3 public: virtual void set##funName(varType var){ varName = var; }
  7. CC_SYNTHESIZE_PASS_BY_REF(varType, varName, funName) 类似CC_SYNTHESIZE,不过get##funName返回的是成员变量的引用
    1 protected: varType varName;
    2 public: virtual const varType& get##funName(void) const { return varName; }
    3 public: virtual void set##funName(const varType& var){ varName = var; }
  8. CC_PROPERTY_READONLY(varType, varName, funName) 声明一个成员变量以及get##funName函数,没有set函数get##funName函数只有声明,而没有定义。代码如下:
    1 protected: varType varName;
    2 public: virtual varType get##funName(void);
  9. CC_PROPERTY_READONLY_PASS_BY_REF(varType, varName, funName) 类似CC_PROPERTY_READONLY,不过get##funName语义上是返回的是成员变量引用并且需要自己实现函数定义。代码如下:
    1 protected: varType varName;
    2 public: virtual const varType& get##funName(void);
  10. CC_PROPERTY(varType, varName, funName) 声明一个成员变量以及get##funName和set##funName函数的声明,函数定义需要自行实现。代码如下:
    1 protected: varType varName;
    2 public: virtual varType get##funName(void);
    3 public: virtual void set##funName(varType var);
  11. CC_PROPERTY_PASS_BY_REF(varType, varName, funName) 类似CC_PROPERTY,不过get##funName返回的是引用,并且函数的定义需要自行实现。代码如下:
    1 protected: varType varName;
    2 public: virtual const varType& get##funName(void);
    3 public: virtual void set##funName(const varType& var);