cocos2d 属性

来源:互联网 发布:php 面向对象的语言 编辑:程序博客网 时间:2024/06/05 04:41
  1. int tag;  
  2. int getTag() { return tag; }  
  3. void setTag(int aTag) { tag = aTag; } 

利用Cocos2d-x提供的宏,上面的Tag属性定义就可以用下面一条语句代替了:

  1. 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
实现了访问器方法

 

可以少写好多行!!!重构也方便!!!