Animation 我的动画不在cocos2d中运行

Animation 我的动画不在cocos2d中运行,animation,cocos2d-x,Animation,Cocos2d X,在我的游戏中,我有一个火箭类型,我想在上面运行一系列动作。首先,它必须运行爆炸动画,然后将自己从游戏中移除。为此,我使用了以下代码,但它不起作用,并导致运行时错误 火箭级别: void Rocket::movingRocket(float dt) { // some codes ... if(rocketIsCollideWithEnemy()) // run only one time { this->stopAllActions();

在我的游戏中,我有一个火箭类型,我想在上面运行一系列动作。首先,它必须运行爆炸动画,然后将自己从游戏中移除。为此,我使用了以下代码,但它不起作用,并导致运行时错误

火箭级别:

void Rocket::movingRocket(float dt)
{
    // some codes ...
    if(rocketIsCollideWithEnemy()) // run only one time
    {
        this->stopAllActions();
        CCAnimation *animation = CCAnimation::create();

        for (int i = 0; i < EXPLOSION_FRAME_NUMBER; i++)
        {
            CCString *str = CCString::createWithFormat("/explosion-%d.png", i);
            animation->addSpriteFrameWithFileName(str->getCString());
        }

        animation->setDelayPerUnit(0.06f);
        CCAnimate *animate = CCAnimate::create(animation);
        CCCallFuncN* remove_rocket = CCCallFuncN::create(this, callfuncN_selector(Rocket::removeRocket));

        this->runAction(CCSequence::create(animate,remove_rocket, NULL));
        this->unschedule(schedule_selector(Rocket::movingRocket));
    }
}
当我运行上述程序时,以下代码第4行Cocos2d部分出现错误:

void CCAnimate::update(float t)
{
    // some codes...
    if( splitTime <= t ) 
    {
        CCAnimationFrame* frame = (CCAnimationFrame*)frames->objectAtIndex(i);
        frameToDisplay = frame->getSpriteFrame();
        ((CCSprite*)m_pTarget)->setDisplayFrame(frameToDisplay);

        CCDictionary* dict = frame->getUserInfo();
        if( dict )
        {
            //TODO: [[NSNotificationCenter defaultCenter] postNotificationName:CCAnimationFrameDisplayedNotification object:target_ userInfo:dict];
        }
        m_nNextFrame = i+1;
    }
    // some codes...
}

什么可能导致我的问题?

什么错误?此时i的值是多少?我是如何初始化的,也许一点也没有?void CCAnimate::updatefloat{…}的函数不是我开发的,它是用于cocos2d引擎的,在这个文件和行中发生了一个错误,并表示:myClass.exe中0x752DCB49处的未处理异常:0xC0000005:访问冲突执行位置0x00000000。i的值是0
void CCAnimate::update(float t)
{
    // some codes...
    if( splitTime <= t ) 
    {
        CCAnimationFrame* frame = (CCAnimationFrame*)frames->objectAtIndex(i);
        frameToDisplay = frame->getSpriteFrame();
        ((CCSprite*)m_pTarget)->setDisplayFrame(frameToDisplay);

        CCDictionary* dict = frame->getUserInfo();
        if( dict )
        {
            //TODO: [[NSNotificationCenter defaultCenter] postNotificationName:CCAnimationFrameDisplayedNotification object:target_ userInfo:dict];
        }
        m_nNextFrame = i+1;
    }
    // some codes...
}