- Cocos2dx 小技巧(六)断言CCAssert
-
一天积累一点,要求不多,一点点就可以。------------------------------------
边听周杰伦的音乐,旁边放着一罐啤酒,时不时跟着节奏哼上两句,再来两口酒。于是该篇博客诞生了。容易满足的我不禁感慨:这TM的就是生活!
这篇介绍的是让广告劳苦群众又爱又恨的CCAssert!
--------------------------------------
CCAssert,也就是断言啦,当然了功能和断点也挺相似的。
使用断言可以创建更稳定,品质更好且不易于出错的代码。具体用法看下面:
1CCAssert(cond,msg);
// 断言表达式cond为真,如果不为真,则显示字符串msg信息
下面举第一个例子:
1
234int
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。
是的,你没看错,就是这个窗口。多少日日夜夜,多少风风雨雨,我们对着它发呆,对着它落泪,对着它傻笑...
下面第二个例子,其他和第一个差不多啦。
4
567auto boy = Sprite::create( "boy.png"
);
boy->setTag(
1
//设置tag为1
this
->addChild(boy);
auto girl = Sprite::create(
"girl.png"
);
girl->setTag(
2
//设置tag为2
->addChild(girl);
7
89101112131415void switchSp(
int
sp_tag)
{
switch
(sp_tag)
{
case
:
CCLOG(
"choose human is boy"
//选择的是boy
break
;
:
"choose human is girl"
//选择的是girl
;
default
:
CCAssert(
false
"choose tag should be 1 or 2"
//两个都不是的情况使用断言
;
}
}
简单的解释下,如果传入的参数是1,则选择的是boy,如果是2,则选择girl,如果都不是,那么就报错。断言表达式用false或者0代替,则可直接中断程序。
恩,就这样吧。请不要嫌这篇短小。用英雄联盟小智的话来说就是:虽然短,但可以旋转。你懂的。
尊重原创,转载请注明来源:http://blog.csdn.net/start530/article/details/2300036 5