最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

Cocos2d-x常用宏说明

来源:懂视网 责编:小采 时间:2020-11-09 08:31:55
文档

Cocos2d-x常用宏说明

Cocos2d-x常用宏说明:1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数声明和实现都有 这个直接用第四篇那些现成的 。如下: [cpp] view plaincopy CC_SYNTHESIZE(MyDelegate*,delega
推荐度:
导读Cocos2d-x常用宏说明:1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数声明和实现都有 这个直接用第四篇那些现成的 。如下: [cpp] view plaincopy CC_SYNTHESIZE(MyDelegate*,delega

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

1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数声明和实现都有

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

[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. ...
  5. CC_PROPERTY(int,m_hp,Hp);//声明一个类型为int型的成员变量m_hp以及getHp()、setHp(int hp_int)函数
  6. ...
  7. }
  8. //定义
  9. int HelloWorld::getHp()
  10. {
  11. //自己定义实现,看是要return m_hp,或者return m_hp*2; who care?
  12. }
  13. void HelloWorld::setHp(int hp_int)
  14. {
  15. //同上,可以是 m_hp = hp_int,或者m_hp = hp_int*2; who care too?
  16. }


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函数的实现要自己

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

Cocos2d-x常用宏说明

Cocos2d-x常用宏说明:1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数声明和实现都有 这个直接用第四篇那些现成的 。如下: [cpp] view plaincopy CC_SYNTHESIZE(MyDelegate*,delega
推荐度:
标签: 常用 说明 cocos2d-x
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top