Home > Database > Mysql Tutorial > Cocos2d-x常用宏说明

Cocos2d-x常用宏说明

WBOY
Release: 2016-06-07 15:01:09
Original
1198 people have browsed it

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 plaincopyCocos2d-x常用宏说明Cocos2d-x常用宏说明

  1. CC_SYNTHESIZE(MyDelegate*,delegator,Delegator);//这一步不理解的看下面   
  2. //源码:   
  3. #define CC_SYNTHESIZE(varType, varName, funName)\    
  4. protected: varType varName;\    
  5. publicvirtual varType get##funName(voidconst { return varName; }\    
  6. publicvirtual void set##funName(varType var){ varName = var; }    
看过源码后,我们把CC_SYNTHESIZE(MyDelegate*,delegator,Delegator);带进去试下,实际上与下面这几条代码是同样的意思。

[cpp] view plaincopyCocos2d-x常用宏说明Cocos2d-x常用宏说明

  1. protected:    
  2.     MyDelegate* delegate;    
  3. public:    
  4.     virtual MyDelegate* getDelegator(voidconst { 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 plaincopyCocos2d-x常用宏说明Cocos2d-x常用宏说明

  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. //定义  
  10. int HelloWorld::getHp()  
  11. {  
  12.     //自己定义实现,看是要return m_hp,或者return m_hp*2; who care?  
  13. }  
  14. void HelloWorld::setHp(int hp_int)  
  15. {  
  16.     //同上,可以是 m_hp = hp_int,或者m_hp = hp_int*2;  who care too?  
  17. }  

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函数的实现要自己
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template