Cocos2dx 小技巧(五)常用宏介绍

Cocos2dx 小技巧(五)常用宏介绍,第1张

概述在第四篇介绍委托时, CC_SYNTHESIZE 这个宏出来show了一番后回去很是嘚瑟,于是他的兄弟姐妹们不干了,凭什么他能show而他们就不行? 为了公平起见,我赶紧也把其他的常用宏也拉出来溜溜。 1、CC_SYNTHESIZE(varType, varName, funName):声明一个成员变量以及getfunName,setfunName函数.函数声明和实现都有 这个直接用第四篇那些现成 在第四篇介绍委托时, CC_SYNTHESIZE 这个宏出来show了一番后回去很是嘚瑟,于是他的兄弟姐妹们不干了,凭什么他能show而他们就不行?
为了公平起见,我赶紧也把其他的常用宏也拉出来溜溜。

1、CC_SYNTHESIZE(varType,varname,funname):声明一个成员变量以及getfunname,setfunname函数.函数声明和实现都有
这个直接用第四篇那些现成的。如下:
[cpp] view plain copy CC_SYNTHESIZE(MyDelegate*,delegator,Delegator);//这一步不理解的看下面 //源码: #defineCC_SYNTHESIZE(varType,funname)\ protected:varTypevarname;\ public:virtualvarTypeget##funname(voID)const{returnvarname;}\ public:virtualvoIDset##funname(varTypevar){varname=var;} 看过源码后,我们把CC_SYNTHESIZE(MyDelegate*,Delegator);带进去试下,实际上与下面这几条代码是同样的意思。
[cpp] view plain copy protected: MyDelegate*delegate; public: virtualMyDelegate*getDelegator(voID)const{returndelegate}; virtualvoIDsetDelegator(MyDelegate*dele){delegate=dele};
2、CC_SYNTHESIZE_PASS_BY_REF(varType,funname):类似CC_SYNTHESIZE,不过getfunname返回的是引用

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

4、CC_SYNTHESIZE_Readonly_PASS_BY_REF(varType,funname):类似CC_SYNTHESIZE_Readonly,不过getfunname返回的是引用

5、CC_PROPERTY(varType,funname):声明一个成员变量以及getfunname,setfunname函数.函数实现要自己做
举个例子介绍下:
[cpp] view plain copy //声明 classHelloWorld:publiccocos2d::Layer { ... CC_PROPERTY(int,m_hp,Hp);//声明一个类型为int型的成员变量m_hp以及getHp()、setHp(inthp_int)函数 ... } //定义 intHelloWorld::getHp() { //自己定义实现,看是要returnm_hp,或者returnm_hP*2;whocare? } voIDHelloWorld::setHp(inthp_int) { //同上,可以是m_hp=hp_int,或者m_hp=hp_int*2;whocaretoo? }
6、CC_PROPERTY_PASS_BY_REF(varType,funname):类似CC_PROPERTY,,不过getfunname返回的是引用。

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


8、CC_PROPERTY_Readonly_PASS_BY_REF(varType,funname):类似CC_PROPERTY_Readonly,不过getfunname返回的是引用getfunname函数的实现要自己做



恩,就简单介绍到这里啦。嘿嘿。

尊重原创,转载请注明来源:http://blog.csdn.net/start530/article/details/23212943 总结

以上是内存溢出为你收集整理的Cocos2dx 小技巧(五)常用宏介绍全部内容,希望文章能够帮你解决Cocos2dx 小技巧(五)常用宏介绍所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1081656.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存