Cocos2d-x   发布时间:2022-05-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Cocos2dx 学习笔记22 常用宏定义大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

与节点属性(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
具体定义见CCPlatformMacros.h。

与节点的创建方法(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.csdn.net @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
具体定义见ccMacros.h。产生随机数与弧度与角度的转换。

点(CCPoint)相关

ccp

具体定义在CCPointextension.h中。此文件中还定义了很多与点运算相关的API。需要作点运算时,先检查此处是否已经定义过了。

大佬总结

以上是大佬教程为你收集整理的Cocos2dx 学习笔记22 常用宏定义全部内容,希望文章能够帮你解决Cocos2dx 学习笔记22 常用宏定义所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。