1. CREATE_FUNC(GameOverLayer):
用GameOverLayer 类型去创建一个类对象,定义形式如下:
//定义一个为__TYPE__类创建一个对象的方法
#define CREAE_FUNC(__TYPE__) \
static __TYPE__* create() \
{ \
//create 对象的时候,会调用这个类的构造方法,然后来执行这个类的init()方法
__TYPE__ *pRet = new __TYPE__(); \
if (pRet && pRet -> init()) \
{ \
pRet -> autorelease(); \
return pRet; \
} \
else \
{ \
delet pRet; \
pRet = NULL; \
return NULL; \
} \
}
2. CC_SYNTHESIZE_READONLY(cocos2d :: CCLableTTF *, _label, Label);
//用来声明一个受保护的变量,可通过getter + funName 来读取这个变量
//@parma varitype: 变量类型
//@parma varName: 变量名
//@parma funName : “get + funName”为getter方法名
//@warning : getter 是public型的内嵌方法
//通过CC_SYNTHSIZE_READONLY声明的变量和方法都是public 型,如果你需要protected 或 //private类型,请自行声明
定义形式如下:
#define CC_SYNTHESIZE_READONLY(varitype, varName, funName) \
protected : varitype varName; \
public: virtual varType get##funName(void) const { return varName ;}
注意:get##funName 方法为virtual方法,在用这个类去派生一个派生类的时候,可以方便的实现多态性!