cocos2dx 的一些宏的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx 的一些宏的作用相关的知识,希望对你有一定的参考价值。

  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);

以上是关于cocos2dx 的一些宏的作用的主要内容,如果未能解决你的问题,请参考以下文章

12_关于flask中的宏

inline内联函数

Xcode 运行cocos2dx弹出内部错误对话框

java代码在片段活动中不起作用

cocos2dx android 代码混淆

Flask之模板之宏继承包含