任何人请告诉我如何在精灵上完成动画后获得事件?我正在使用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
但此方法适用于核心动画