cocos2d-x 使用断言
来源:互联网 发布:unity3d 布料 仿真 编辑:程序博客网 时间:2024/04/28 14:24
一.
Assert - 断言
使用断言可以创建更稳定,品质更好且不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,可以使用断言。单元测试必须使用断言。
除了类型检查和单元测试外,断言还提供了一种确定各种特性是否在程序中得到维护的极好的方法。
通过使用CC_ASSERT或者CCAssert,我们可以检测代码是否有多用、用错等情况,比如:
// [Test] 每生成一个对象,计数器+1 【判断对象是否不小心创建了多个。】
CCAssert( ++t_gameLayer_GameLayer_Count == 1,
// 校验输入的index是否是否超过默认穴位组的大小【5-8个】。【判断输入的index是否超出范围】
CC_ASSERT("参数id超出默认穴位组大小!" && index< MAX_HITPOINT_SIZE && index>=0);
程序运行时突然报错,然后弹出窗口提示“GameLayer对象生成超过个!”,这样我们就知道GameLayer这个对象多创建了,然后就根据vs2008“调用堆栈”窗口,看看代码的执行顺序,就可以知道代码是哪里写错了,进而改正,让代码更加健壮。
两个宏的用法差不多,看看源代码就懂了,实际上它们就是同一个东西啦。
#ifndef CCAssert
#define CCAssert(cond, msg)
#endif
#ifdef _DEBUG
#define CC_ASSERT(cond)
#else
#define CC_ASSERT(cond)
#endif
#endif
二.CCNS.h
最近在看cocos2d-x的源代码,发现CCNS.h这个类有几个函数挺实用的,简单翻译一下。
/ *
@参数:
pszContent:一个格式为:"{{x,y},{w, h}}"的字符串。 x:x轴;y:y轴;w:宽;h:高。
取值可以是int或者float型。
例子:"{{3,2},{4,5}}"。
@返回:如果参数的格式不正确,则返回CCRectZero。
* /
/ *
@描述:根据给定的字符串格式,返回一个CCpoint对象。
@参数:
pszContent:
取值可以是int或者float型。
* /
/ *
@参数:
pszContent:一个格式为:"{w,h}"的字符串。w:宽度;h:高度。
取值可以是int或者float型。
例子:"{3.0,2.5}"。
@返回:如果参数的格式不正确,则返回CCSizeZero。
* /
用法:
CCPoint tPosition = CCPointFromString("{0,12}");
如果CCRect、CCPoint或CCSize是通过外部文件(xml,ini)加载的话,这几个函数就很实用了。
- cocos2d-x 使用断言
- cocos2d-x关于CC_ASSERT断言BUG!
- Cocos2d-x之 断言宏CCAssert
- CC_ASSERT 或 CCAssert宏 断言跟断点差不多-----------cocos2d-x
- CC_ASSERT 或 CCAssert宏 断言跟断点差不多-----------cocos2d-x
- Cocos2d-x--使用Cocos2d-x v3.0.0
- cocos2d-x CCTextureCache使用
- Cocos2d-x使用SQLite
- cocos2d-x RTTI使用
- cocos2d-x 使用plugin
- Cocos2d-X tolua++ 使用
- cocos2d-x jsonCpps使用
- cocos2d-x 使用 CCScale9Sprite
- cocos2d-x CCEditBox使用
- cocos2d-x函数使用
- Cocos2d-x OpenGL 使用
- Cocos2d-x Layout使用
- Cocos2d-x ScrollView使用
- 线程同步-互斥锁
- 数据结构与算法第一张总结
- Uva10601 立方体 置换
- 什么是IO
- GDB + CoreDump 调试记录
- cocos2d-x 使用断言
- java.lang.OutOfMemoryError: Java heap space解决方法
- 如何自己制作MyEclipse序列号
- Java基础<十>---> String类
- 8月20日
- 直接插入排序算法
- JavaSE文章索引
- 参加了CSDN的活动,发个回归贴!
- 从.NET winform 到JAVA web的第一个CRUD