使用断言可以创建更稳定,品质更好且不易于出错的代码。具体用法看下面:
- CCAssert(cond,msg);//断言表达式cond为真,如果不为真,则显示字符串msg信息
下面举第一个例子:
- inti=10;
- CCAssert(i<9,"ishouldsmallthan10");//不好意思,我英语是体育老师教的
- //解释下上面这句,i<9就是断言表达式了,当i<9时表达式为true,程序继续运行,不会中断。当i>9,
- //也就是上面写的i=10,这时候表达式为false,那么程序就会中断,然后抛出这句话:ishouldsmallthan10。
是的,你没看错,就是这个窗口。多少日日夜夜,多少风风雨雨,我们对着它发呆,对着它落泪,对着它傻笑...
下面第二个例子,其他和第一个差不多啦。
- autoboy=Sprite::create("boy.png");
- boy->setTag(1);//设置tag为1
- this->addChild(boy);
- autogirl=Sprite::create("girl.png");
- girl->setTag(2);//设置tag为2
- this->addChild(girl);
- voidswitchSp(intsp_tag)
- {
- switch(sp_tag)
- {
- case1:
- CCLOG("choosehumanisboy");//选择的是boy
- break;
- case2:
- CCLOG("choosehumanisgirl");//选择的是girl
- break;
- default:
- CCAssert(false,"choosetagshouldbe1or2");//两个都不是的情况使用断言
- break;
- }
- }
简单的解释下,如果传入的参数是1,则选择的是boy,如果是2,则选择girl,如果都不是,那么就报错。断言表达式用false或者0代替,则可直接中断程序。
原文链接:https://www.f2er.com/cocos2dx/339247.html