与节点属性(property)相关的
| CC_PROPERTY_READONLY |
| CC_PROPERTY_READONLY_PASS_BY_REF |
| CC_PROPERTY |
| CC_PROPERTY_PASS_BY_REF |
| CC_SYNTHESIZE_READONLY |
| CC_SYNTHESIZE_READONLY_PASS_BY_REF |
| CC_SYNTHESIZE |
| CC_SYNTHESIZE_PASS_BY_REF |
| CC_SYNTHESIZE_RETAIN |
具体定义见CCPlatformMacros.h。这些主要是为了模拟objective-C下的@property, readonly, retain, @synthesize等关键字。
与命名空间(namespace)相关
| NS_CC_BEGIN |
| NS_CC_END |
| USING_NS_CC |
与节点的创建方法(node, create)相关
| CREATE_FUNC |
| NODE_FUNC |
与内存管理相关
| CC_SAFE_DELETE |
| CC_SAFE_DELETE_ARRAY |
| CC_SAFE_FREE |
| CC_SAFE_RELEASE |
| CC_SAFE_RELEASE_NULL |
| CC_SAFE_RETAIN |
在代码中使用这些宏,可以减少敲键盘的次数,从而提高编写效率。什么时候用SAFE_DELETE 什么时候用SAFE_RELEASE呢?????????请关注blog.youkuaiyun.com @weibo.com/shunfengche
填空题:
malloc calloc申请空间的用__释放,c++ new申请空间的用___释放,CCObject子类对象用_____释放。
日志
| CCLOG |
| CCLOGERROR |
| CCLOGINFO |
| CCLOGWARN |
断言
| CC_BREAK_IF |
| CC_ASSERT |
| CCAssert |
其中CC_BREAK_IF是在CCPlatformMacros.h中定义的,它用在循环中的条件判断。
CC_BREAK_IF有一个使用非常频繁的场合,就是在do{}while(0)中。这个使用语句块的作用还是挺大的。根据GOOGLE编程规范,为了减少代码层次,条件判断应该先进行,不满足则跳过后面代码。跳过有两种方式,一种是return,另一种是break。前一种方式下,后面的全部代码都不能得到执行;后一种方式必须放在循环或者swich语句块中。如果使用do{}while(0)则可以解决第一种方式后面的代码得不到执行的问题。
CCAssert定义在ccMacros.h中,它是对CC_ASSERT的封装。与数学相关
| CCRANDOM_MINUS1_1 |
| CCRANDOM_0_1 |
| CC_DEGREES_TO_RADIANS |
| CC_RADIANS_TO_DEGREES |
点(CCPoint)相关
ccp
具体定义在CCPointExtension.h中。此文件中还定义了很多与点运算相关的API。需要作点运算时,先检查此处是否已经定义过了。
本文介绍Cocos2d-x中常用的宏定义,包括节点属性、命名空间、节点创建方法、内存管理等方面的内容,并解释了如何正确使用这些宏来提高开发效率。
494

被折叠的 条评论
为什么被折叠?



