Cocos2dx 小技巧(六)断言CCAssert

这篇介绍的是让广大劳苦群众又爱又恨的CCAssert!

Cocos2dx 小技巧(六)断言CCAssert_第1张图片
宁静的埃菲尔

CCAssert,也就是断言啦,当然了功能和断点也挺相似的。

使用断言可以创建更稳定,品质更好且不易于出错的代码。具体用法看下面:

// 断言表达式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。

下面运行下程序,如下图:

Cocos2dx 小技巧(六)断言CCAssert_第2张图片
Paste_Image.png

是的,你没看错,就是这个窗口。多少日日夜夜,多少风风雨雨,我们对着它发呆,对着它落泪,对着它傻笑...

下面第二个例子,其他和第一个差不多啦。

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代替,则可直接中断程序。

恩,就这样吧。请不要嫌这篇短小。用英雄联盟小智的话来说就是:虽然短,但可以旋转。你懂的。

尊重原创,转载请注明来源:https://blog.csdn.net/start530/article/details/23000365

你可能感兴趣的:(Cocos2dx 小技巧(六)断言CCAssert)