cocos2d-x定义了很多宏定义,帮我们提高开发效率,下面看下CC_PROPERTY, CC_PROPERTY定义 CC_PROPERTY的声明在CCPlatformMacros.h中,结构如下 #define CC_PROPERTY ( varType, varName, funName ) varType : 变量类型. varName :变量名称 funName : "get + funName"是变量的getter. "set + funName"是变量的setter. 成员函数和成员变量有 protected: varType varName;\ public: virtual varType get+funName(void);\ public: virtual void set+funName(varType var); CC_PROPERTY 用来声明一个protected变量。 使用CC_PROPERTY声明的变量可以使用getter获取变量的值,使用setter设置变量的值。
class Hero: public CCSprite { CC_PROPERTY(int, _heroName, HeroName); CC_PROPERTY(int, _heroDegre, HeroDegre); CC_PROPERTY(int, _heroHp, HeroHp); ... }; Hero *myhero = new Hero; if ( myhero->initWithFile("hero.png") && myhero->autorelease() ) { myhero->setHeroName(1); myhero->setHeroDegre(3); myhero->setHeroHp(5); int heroname=myhero->getHeroName(); }
转自:http://xiandanboke.com.cn/cocos2d-xccproperty.html