如何在动画结束后获得事件



任何人请告诉我如何在精灵上完成动画后获得事件?我正在使用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());
    }
}

请告诉我任何解决方案或给我一些想法,如果你有,

提前感谢 ,

:)

您可以使用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];

当然,您可以使用任何您想要的目标和选择器作为回调

你能检查一下精灵和cocoa2d的文档吗,应该有一个委托方法,比如

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

但此方法适用于核心动画

最新更新