cocos2d 属性
- int tag;
- int getTag() { return tag; }
- void setTag(int aTag) { tag = aTag; }
利用Cocos2d-x提供的宏,上面的Tag属性定义就可以用下面一条语句代替了:
- CC_SYNTHESIZE(int, tag, Tag)
每个宏都有3个参数,分别是:varType,属性类型,如果属性类型是对象,需要写成指针的形式;varName,属性的私有字段名称;funName,属性的访问器名称,也就是紧接在get或set前缀后的部分。
CC_PROPERTY
|
定义一个属性及其访问器,没有实现。
通常用于简单的值类型
|
CC_PROPERTY_READONLY
|
定义一个属性,只包含get访问器,没有实现
|
CC_PROPERTY_PASS_BY_REF
|
定义一个属性,访问器使用引用类型传
递参数,没有实现。通常用于结构体类型
|
CC_PROPERTY_READONLY_PASS_BY_REF
|
定义一个属性,只包含get访问器,
且使用引用类型传递参数,没有实现
|
CC_SYNTHESIZE
|
同CC_PROPERTY,实现了访问器方法
|
CC_SYNTHESIZE_READONLY
|
同CC_PROPERTY_READONLY,实现了访问器方法
|
CC_SYNTHESIZE_PASS_BY_REF
|
同CC_PROPERTY_PASS_BY_REF,
实现了访问器方法
|
CC_SYNTHESIZE_READONLY_PASS_BY_REF
|
同CC_PROPERTY_READONLY_PASS_BY_REF,
实现了访问器方法
|
可以少写好多行!!!重构也方便!!!