0

スプライトのアニメーションが完了した後にイベントを取得するにはどうすればよいですか? 私はcocos2dフレームワークを使用していますが、

私のコードの一部はこのようなものです..

-(void)playerTouchHurdlesOnFlore:(LHContactInfo*)contact
{

    if(!isHurdlesAnimStart)
    {
        isHurdlesAnimStart=YES;

        onGround=NO;

        [player stopAnimation];

        //[player setIsRelativeAnchorPoint:NO];

        // I want to call any event or function after end of the this "Fall_Down" animation.
        [player startAnimationNamed:@"Fall_Down"];

        jumpCounter = 0.3f;
        player.body->ApplyLinearImpulse(b2Vec2(0,2.0f), player.body->GetPosition());
    }

}

解決策を教えてください。もしあれば、アイデアを教えてください。

前もって感謝します 、

:)

4

2 に答える 2

5

を使用してコールバックを簡単に作成できますCCCallFunc

id animation = // any of your action, CCAnimate, CCMoveTo, etc.
id callback = [CCCallFunc actionWithTarget:self selector:@selector(onAnimationEnd)];
id sequence = [CCSequence actionOne: animation two: callback];
[nodeToAnimate runAction: sequence];

もちろん、コールバックとして必要な任意のターゲットとセレクターを使用できます

于 2012-06-13T05:47:52.600 に答える
0

sprite と cocoa2d のドキュメントを確認できますか?次のようなデリゲート メソッドがあるはずです。

 - (void)animationDidStop:(CAAnimation *)animation finished:(BOOL)finished

ただし、この方法はCore Animation用です

于 2012-06-13T05:54:57.800 に答える