cocos2d-x中的宏定义CC_PROPERTY
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();
myhero->setHeroDegre();
myhero->setHeroHp();
int heroname=myhero->getHeroName();
}
转自:http://xiandanboke.com.cn/cocos2d-xccproperty.html
cocos2d-x中的宏定义CC_PROPERTY的更多相关文章
- iOS 静态库中使用宏定义区分iPhone模拟器与真机---备用
问题描述 一般项目中,可以使用宏定义来判断模拟器还是真机,这无疑是有效的. #if TARGET_IPHONE_SIMULATOR #define SIMULATOR 1 #elif TARGET_O ...
- C++中的内联函数和C中的宏定义的区别
在C++中内联函数: 内联函数即是在函数的声明和和定义前面加上“inline”关键字,内联函数和常规函数一样,都是按照值来传递参数的,如果参数为表达式,如4.5+7.5,则函数将传递表达式的值(这里为 ...
- Makefile中进行宏定义-***
实际上是gcc命令支持-D宏定义,相当于C中的全局#define: gcc -D name gcc -D name=definition Makefile中可以定义变量(和宏很像),但是是给make解 ...
- C语言学习笔记--C语言中的宏定义
1. C 语言中的宏定义 (1)#define 是预处理器处理的单元实体之一(因此,预处理器只是简单的进行替换,并不(2)#define 定义的宏可以出现在程序的任意位置(包括函数体的内部)(3)#d ...
- Makefile中用宏定义进行条件编译(gcc -D)/在Makefile中进行宏定义-D【转】
本文转载自:http://blog.csdn.net/maopig/article/details/7230311 在源代码里面如果这样是定义的:#ifdef MACRONAME//可选代码#en ...
- 内核中的宏定义__init、__initdata和__exit、__exitdata
__init.__initdata和__exit.__exitdata的定义位于<kernel/include/linux/init.h> /* These are for everybo ...
- [C++] C++中的宏定义详解
转载自:C++中的宏定义 和 C++宏定义详解 一.#define解析 #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率 ...
- 20个C语言中常用宏定义总结
01: 防止一个头文件被重复包含 #ifndef COMDEF_H#define COMDEF_H//头文件内容#endif 02: 重新定义一些类型防止由于各种平台和编译器的不同,而产生的类型字节数 ...
- C语言中的宏定义
目录(?)[-] 简单宏定义 带参数的宏 运算符 运算符 宏的通用属性 宏定义中圆括号 创建较长的宏 较长的宏中的逗号运算符 宏定义中的do-while循环do 空操作的定义 预定义宏 C语言中常用的 ...
随机推荐
- 2017年USNews美国大学研究生专业排名
2017年USNEWS美国大学研究生专业排名最佳商学院排名 排名 学校 费用 注册人数 #1 Harvard University Boston, MA $61,225 per year (full- ...
- linux清空文件方法
1.以下方法,清除后,文件大小为0 2.以下方法,清除后,文件大小为1 多了一个结束字符
- VisualStudio使用GIT
使用GIT进行源码管理 -- 在VisualStudio中使用GIT GIT作为源码管理的方式现在是越来越流行了,在VisualStudio 2012中,就通过插件的现实对GIT进行了官方支持,并且这 ...
- android用jsonReader来解析json
对于这个json: { "id" : "3232", "data" : [{ "data1" : "555&q ...
- iOS:切换视图时,反向传递数据方法二:代理
代理: 1.发送信息的控制器设置一个代理,并自定义一个代理的方法,用来传递数据 2.接受信息的控制器遵循发送信息的控制器的协议 3.接受信息的控制器设置发送信息的控制器的代理为自己self 4.接受信 ...
- CSS_LESS 语法/函数详解
嵌套规则 01 #header { color: black; }#header .navigation { font-size: 12px; 02 }#header .logo { 03 w ...
- 阿里云 Ubuntu 14.04 安装mysql 5.6
1. 升级apt-get apt-get update 如果出现 : 说明没有你不是root用户,则需要用sudo命令 sudo apt-get update 下面出现权限问题都可以参照这个方法. 2 ...
- Transfrom在64bit服务下面无法运行
利用TR发布了一个cube到Cognos connection里面,利用Analysis Studio打开的时候报错如下 问题是很简单的,按照报错内容看是当前的64bit的report servic ...
- 使用IntelliJ IDEA开发Spring MVC HelloWorld
https://blog.csdn.net/industriously/article/details/52851588 https://blog.csdn.net/slow_wakler/artic ...
- Apache问题综述
1.配置好了,访问的时候出现Forbbiden,如下图:解决方法:1.修改读写权限: 2.将配置文件中httpd.conf的<Directory>中的Denly from all 改成Al ...