0

関数は適切に調整されていませんが、「機能します」(少なくともAndroidでは)

void HelloWorld::continueshipMovement() {


    CCNode *node = this->getChildByTag(asterioTag);
    CCSprite *sprite = (CCSprite*)node;



    if (trafico.size() < 0 or sprite->getActionByTag(actionTag)) {
        return;
    }

    std::pair<float, float> valueOfPt = trafico.back();
    trafico.pop_back();
    CCPoint newPt = ccp(valueOfPt.first, valueOfPt.second);
    float distace = ccpDistance(sprite->getPosition(), newPt);
    float duration = distace / ShipSpeed;
    CCMoveTo *move = CCMoveTo::create(duration, newPt);
    CCSequence *moveseq = CCSequence::createWithTwoActions(move, CCCallFunc::create(this, callfunc_selector(HelloWorld::continueshipMovement)));
    moveseq->setTag(actionTag);
    sprite->runAction(moveseq);



}

画面をタッチすると IOS のアプリがクラッシュし、CCNode から CCSprite にキャストすると失敗するようです。

Xcodeが示すエラーは次のとおりです。

1

2

4

0 に答える 0