飞机与敌机碰撞后开展remove,停止运行

飞机与敌机碰撞后进行remove,停止运行
调试指向retain()的计数器
飞机与敌机碰撞后开展remove,停止运行
飞机与敌机碰撞后开展remove,停止运行
飞机与敌机碰撞后开展remove,停止运行
爆炸:
void PlaneLayer::blowUp() {
    bool isAlive = true;
    if (isAlive)
    {
        isAlive = false;
        auto animation = Animation::create();
        animation->setDelayPerUnit(0.1f);
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_001.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_002.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_003.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_004.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_005.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_006.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_007.png"));
        animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("a_008.png"));

        auto animate = Animate::create(animation);
        auto removePlane1 = CC_CALLBACK_0(PlaneLayer::removePlane,this);
        auto sequence = Sequence::create(animate,removePlane1,NULL);
        //this->getChildByTag(AIRPLANE)->stopAllActions();
        this->getChildByTag(AIRPLANE)->runAction(sequence);
    }
   
}

remove
void PlaneLayer::removePlane(Node *pNode)    {
    this->removeChildByTag(AIRPLANE,true);
    auto pScene = GameOverScene::create();
    auto animateScene = TransitionMoveInT::create(0.8f,pScene);
    Director::getInstance()->replaceScene(animateScene);
}


------解决思路----------------------
这个弹框只能说明你有代码处理时出现异常了,frame变量为空,不能看出具体原因
点终止,然后看vs中代码断到哪一句了,再检测那一句代码前后代码和内存变量情况,看是哪些是不正常的,再分析