Cocos2d-x 断言 CCAssert 简述
2015-09-06 11:52
501 查看
这篇介绍的是让广告劳苦群众又爱又恨的CCAssert!CCAssert,也就是断言啦,当然了功能和断点也挺相似的。
使用断言可以创建更稳定,品质更好且不易于出错的代码。具体用法看下面:CCAssert(cond, msg); // 断言表达式cond为真,如果不为真,则显示字符串msg信息下面举第一个例子:int i = 10;
CCAssert( i < 9,"i should small than 10");//不好意思,我英语是体育老师教的
//解释下上面这句,i<9就是断言表达式了,当i<9时表达式为true,程序继续运行,不会中断。当i>9,
//也就是上面写的i=10,这时候表达式为false,那么程序就会中断,然后抛出这句话:i should small than 10。
下面运行下程序,如下图:
是的,你没看错,就是这个窗口。多少日日夜夜,多少风风雨雨,我们对着它发呆,对着它落泪,对着它傻笑...下面第二个例子,其他和第一个差不多啦。auto boy = Sprite::create("boy.png");
boy->setTag(1);//设置tag为1
this->addChild(boy);auto girl = Sprite::create("girl.png");
girl->setTag(2);//设置tag为2
this->addChild(girl);创建一个根据选取精灵的函数void switchSp(int sp_tag)
{
switch (sp_tag)
{
case 1:
CCLOG("choose human is boy");//选择的是boy
break;
case 2:
CCLOG("choose human is girl");//选择的是girl
break;
default:
CCAssert(false,"choose tag should be 1 or 2");//两个都不是的情况使用断言
break;
}
}
简单的解释下,如果传入的参数是1,则选择的是boy,如果是2,则选择girl,如果都不是,那么就报错。断言表达式用false或者0代替,则可直接中断程序。
使用断言可以创建更稳定,品质更好且不易于出错的代码。具体用法看下面:CCAssert(cond, msg); // 断言表达式cond为真,如果不为真,则显示字符串msg信息下面举第一个例子:int i = 10;
CCAssert( i < 9,"i should small than 10");//不好意思,我英语是体育老师教的
//解释下上面这句,i<9就是断言表达式了,当i<9时表达式为true,程序继续运行,不会中断。当i>9,
//也就是上面写的i=10,这时候表达式为false,那么程序就会中断,然后抛出这句话:i should small than 10。
下面运行下程序,如下图:
是的,你没看错,就是这个窗口。多少日日夜夜,多少风风雨雨,我们对着它发呆,对着它落泪,对着它傻笑...下面第二个例子,其他和第一个差不多啦。auto boy = Sprite::create("boy.png");
boy->setTag(1);//设置tag为1
this->addChild(boy);auto girl = Sprite::create("girl.png");
girl->setTag(2);//设置tag为2
this->addChild(girl);创建一个根据选取精灵的函数void switchSp(int sp_tag)
{
switch (sp_tag)
{
case 1:
CCLOG("choose human is boy");//选择的是boy
break;
case 2:
CCLOG("choose human is girl");//选择的是girl
break;
default:
CCAssert(false,"choose tag should be 1 or 2");//两个都不是的情况使用断言
break;
}
}
简单的解释下,如果传入的参数是1,则选择的是boy,如果是2,则选择girl,如果都不是,那么就报错。断言表达式用false或者0代替,则可直接中断程序。
相关文章推荐
- 探讨C语言的那些小秘密之断言
- Cocos2d-x中背景音乐和音效使用实例
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Assert(断言实现机制深入剖析)
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- Cocos2d-x UI开发之文本类使用实例
- Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法
- Cocos2d-x UI开发之菜单类使用实例
- Cocos2d-x UI开发之CCControlButton控件类实例
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- 测试框架nunit之assertion断言使用详解
- Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- Cocos2d-x Schedule定时器的使用实例
- Cocos2d-x中使用CCScrollView来实现关卡选择实例
- Cocos2d-x中CCEditBox文本输入框的使用实例
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- Cocos2d-x UI开发之CCControlSlider控件类使用实例
- Cocos2d-x学习笔记之开发环境搭建
- Cocos2d-x学习笔记之Hello World!