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