Cocos2d-x中常用的宏小结

前端之家收集整理的这篇文章主要介绍了Cocos2d-x中常用的宏小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
本文旨在交流学习,欢迎大家指正错误欢迎大家补充,后面将持续更新。

节点创建相关的宏:
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_BEGIN Cocos2d-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,则不进行操作
CC_SAFE_FREE
使用free()函数删除p,153); padding:5px 16px 5px 12px; min-height:25px; min-width:25px; height:49px; width:244px; background-color:inherit">
CC_SAFE_RELEASE
使用release()函数释放Cocos-2d-x对象p的一次引用,153); padding:5px 16px 5px 12px; min-height:25px; min-width:25px; height:49px; width:244px; background-color:inherit">
CC_SAFE_RELEASE_NULL
使用release()函数释放Cocos-2d-x对象p的一次引用,再把p赋值为NULL,则不进行操作
CC_SAFE_RETAIN
使用retain()函数增加Cocos-2d-x对象p的一次引用,则不进行操作

日志相关的宏:
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
将尺寸对像由点坐标转换为像素坐标
原文链接:https://www.f2er.com/cocos2dx/339101.html

猜你在找的Cocos2d-x相关文章