• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Cocos2d-x常用宏说明

mysql 搞代码 4年前 (2022-01-09) 42次浏览 已收录 0个评论

1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数声明和实现都有 这个直接用第四篇那些现成的 。如下: [cpp] view plaincopy CC_SYNTHESIZE(MyDelegate*,delegator,Delegator); //这一步不理解的看下面

1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunN

本文来源gao!daima.com搞$代!码#网#

ame函数.函数声明和实现都有

这个直接用第四篇那些现成的。如下:

[cpp] view plaincopy

  1. CC_SYNTHESIZE(MyDelegate*,delegator,Delegator);//这一步不理解的看下面
  2. //源码:
  3. #define CC_SYNTHESIZE(varType, varName, funName)\
  4. protected: varType varName;\
  5. public: virtual varType get##funName(void) const { return varName; }\
  6. public: virtual void set##funName(varType var){ varName = var; }

看过源码后,我们把CC_SYNTHESIZE(MyDelegate*,delegator,Delegator);带进去试下,实际上与下面这几条代码是同样的意思。

[cpp] view plaincopy

  1. protected:
  2. MyDelegate* delegate;
  3. public:
  4. virtual MyDelegate* getDelegator(void) const { return delegate};
  5. virtual void setDelegator(MyDelegate* dele) { delegate = dele};

2、CC_SYNTHESIZE_PASS_BY_REF(varType, varName, funName):类似CC_SYNTHESIZE,不过getfunName返回的是引用

3、CC_SYNTHESIZE_READONLY(varType, varName, funName):声明一个成员变量以及getfunName函数,没有set函数。getfunName已经实现,其实现就是返回这个值。其实看到READONLY就知道它是只读的了

4、CC_SYNTHESIZE_READONLY_PASS_BY_REF(varType, varName, funName):类似CC_SYNTHESIZE_READONLY,不过getfunName返回的是引用

5、CC_PROPERTY(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数实现要自己做
举个例子介绍下:

[cpp] view plaincopy

  1. //声明
  2. class HelloWorld : public cocos2d::Layer
  3. {
  4. CC_PROPERTY(int,m_hp,Hp);//声明一个类型为int型的成员变量m_hp以及getHp()、setHp(int hp_int)函数
  5. }
  6. //定义
  7. int HelloWorld::getHp()
  8. {
  9. //自己定义实现,看是要return m_hp,或者return m_hp*2; who care?
  10. }
  11. void HelloWorld::setHp(int hp_int)
  12. {
  13. //同上,可以是 m_hp = hp_int,或者m_hp = hp_int*2; who care too?
  14. }

6、CC_PROPERTY_PASS_BY_REF(varType, varName, funName):类似CC_PROPERTY,,不过getfunName返回的是引用。

7、CC_PROPERTY_READONLY(varType, varName, funName):又是一个只读,声明一个成员变量以及getfunName函数,没有set函数getfunName函数的实现要自己做

8、CC_PROPERTY_READONLY_PASS_BY_REF(varType, varName, funName):类似CC_PROPERTY_READONLY,不过getfunName返回的是引用getfunName函数的实现要自己


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Cocos2d-x常用宏说明

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址