Cocos2d-x中常用的宏小结

来源:互联网 发布:微信淘客与淘宝客 编辑:程序博客网 时间:2024/06/08 17:18
本文旨在交流学习,欢迎大家指正错误,欢迎大家补充,后面将持续更新。

节点创建相关的宏:
CREATE_FUNC为特定类型增加一个静态的create函数,返回指针类型。自动调用init方法进行初始化(子类中先调用父类的init方法)。设置其自动释放内存,方便内存管理,不需要手动去释放NODE_FUNC为特定类型增加一个静态的node函数,返回指针类型。自动调用init方法进行初始化(子类中先调用父类的init方法)。返回的对象将由自动释放管理内存释放

平台相关的宏:
CC_TARGET_PLATFORM判断程序的运行平台,支持的值包括:
#define CC_PLATFORM_UNKNOWN                   0
#define CC_PLATFORM_IOS                                 1
#define CC_PLATFORM_ANDROID                       2
#define CC_PLATFORM_WIN32                            3
#define CC_PLATFORM_MARMALADE                 4
#define CC_PLATFORM_LINUX                             5
#define CC_PLATFORM_BADA                              6
#define CC_PLATFORM_BLACKBERRY                   7
#define CC_PLATFORM_MAC                                8
#define CC_PLATFORM_NACL                               9
#define CC_PLATFORM_EMSCRIPTEN                  10
#define CC_PLATFORM_TIZEN                              11
#define CC_PLATFORM_WINRT                             12
#define CC_PLATFORM_WP8                                 13
与命名空间相关的宏:
NS_CC_BEGINCocos2d-x命名空间开始,用以代替C++中的"namespace cocos2d {"
NS_CC_END
Cocos2d-x命名空间结束,用以代替C++中的"}"
USING_NS_CC
声明Cocos2d-x的命名空间,代替"using namespace cocos2d;"

与节点属性相关的宏:
CC_PROPERTY_READONLY同CC_PROPERTY,不同的是它只有get函数,没有set函数,get函数需要重写
CC_PROPERTY_READONLY_PASS_BY_REF
CC_PROPERTY_PASS_BY_REF,不同的是它只有get函数,没有set函数
CC_PROPERTY
声明一个送保护成员变量,第一个参数是变量的类型,第二个参数是变量名,第三个参数是get/set函数名。需要注意的是,get/set函数需要重写。CC_PROPERTY更适用于快速声明一个值属性
CC_PROPERTY_PASS_BY_REF
同CC_PROPERTY,不同的是其get函数返回的是引用值
CC_SYNTHESIZE_READONLY
CC_SYNTHESIZE,不同的是只有get函数,没有set函数
CC_SYNTHESIZE_READONLY_PASS_BY_REF
CC_SYNTHESIZE_PASS_BY_REF,不同的是只有get函数,没有set函数
CC_SYNTHESIZE
CC_PROPERTY,不同的是get/set函数都有实现
CC_SYNTHESIZE_PASS_BY_REF
CC_SYNTHESIZE,不同的是get函数返回的是引用值
CC_SYNTHESIZE_RETAIN
CC_SYNTHESIZE_PASS_BY_REF,获得对象并保留

内存管理相关的宏:
CC_SAFE_DELETE
使用delete操作符删除一个C++对象p,如果p为NULL,则不进行操作
CC_SAFE_DELETE_ARRAY
使用delete[]操作符删除一个C++数组p,如果p为NULL,则不进行操作
CC_SAFE_FREE
使用free()函数删除p,如果p为NULL,则不进行操作
CC_SAFE_RELEASE
使用release()函数释放Cocos-2d-x对象p的一次引用,如果p为NULL,则不进行操作
CC_SAFE_RELEASE_NULL
使用release()函数释放Cocos-2d-x对象p的一次引用,再把p赋值为NULL,如果p为NULL,则不进行操作
CC_SAFE_RETAIN
使用retain()函数增加Cocos-2d-x对象p的一次引用,如果p为NULL,则不进行操作

日志相关的宏:
CCLOG
控制台输出
CCLOGINFO
控制台输出信息
CCLOGERROR
控制台输出错误值
CCLOGWARN
控制台输出警告信息
调试相关的宏:
CC_BREAK_IF
内置的判断函数,参数是bool值,例如CC_BREAK_IF(!cond)就是判断cond是否为NULL,如果为NULL则不执行后面的代码CCAssert断言。第一个参数书bool值,第二个参数是字符串。断言表达式cond为真,如果不为真,则显示字符串msg信息。
_CCLOGWITHFUNCTION
输出信息时可以吧当前的函数名打印出来
转换相关的宏:
CC_DEGREES_TO_RADIANS
角度转换为弧度
CC_RADIANS_TO_DEGREES
弧度转换为角度
CC_RECT_PIXELS_TO_POINTS
将矩形由像素坐标转换为点坐标
CC_RECT_POINTS_TO_PIXELS
将矩形由点坐标转换为像素坐标
CC_POINT_PIXELS_TO_POINTS
将点由像素坐标转换为点坐标
CC_POINT_POINTS_TO_PIXELS
将点由点坐标转换为像素坐标
CC_SIZE_PIXELS_TO_POINTS
将尺寸对像由像素坐标转换为点坐标
CC_SIZE_POINTS_TO_PIXELS
将尺寸对像由点坐标转换为像素坐标
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 丈夫面前侵犯中文高清在线播放 在线中文字幕最好看最经典 丈夫面前不允许出声的侵犯2 2018吉译明i作品全集一览 好看的中文字幕推荐 yellow字幕幕网 中文字幕人人视频在线萝莉 中文永久字幕在线播放 好看的字幕最新字幕一经典幕 母乳妻诱惑中文字幕 有什么好看的电影 2018好看的大陆电影 什么动漫电影好看中文 在线播放丝服制袜 2018最新手机中文字幕 中文字幕视频2018 中文字幕爸爸在线播放 濡x母 もう、やめて… 中文字幕在线手机播放2018 免费中文字幕 啄木鸟中文字幕在线播放军舰 中文字幕永久在线2016 免费伦电影中文字幕 大嫂潮湿中文字幕在线迅雷 小白看看永久播放平台 看永久看免费2018中文字 妻人射中文字幕 2019永久免费播放平台 免费永久播放平台领城四虎 好看的中文字 幕经典中文字幕 中字幕在线永久视频 绝对的经典中文字幕 中文字幕最新好看 仓多真央好看中文字幕叔母 好看不卡的中文字幕 好看的中文字幕 039 2019最新男的网站 好看的无中文字幕美剧 中文字幕看永久看视频平台 美国一千部污女视频而且免费 大明看永久看免费播放平台