2010-11-09 149 views
1

我有两个不同状态(有球和没有球)的守门员的两个动画。守门员跳转后,我想切换到另一个动作,但我想留在相同的帧索引。如何用cocos2d切换精灵动画?

我的意思是如果门将在框架19球碰撞,第二个动作应在框架19开始了。

回答

0

我还不太清楚,如果我完全理解你的努力做的,但我可以帮你操作。如果你想运行一个检查每一帧你应该做somethng这样

在您的场景结束init方法添加:

`[自时间表:@selector(打勾:)间隔:0.3f];

- (无效)剔:(ccTime)DT { 如果(CGRectIntersectsRect(goalKeeper.textureRect,ball.textureRect){ [守门员stopAction:myAction]; //其中myAction预先定义 } //现在你可以因为你使用的定时器启动新的行动,这将是相同的帧

这应该做到这一点。我希望帮助,如果我还没有完全回答你的问题随时以更清楚地说明你究竟在做什么。'

+0

让我澄清一点,在“myAction”中,让我们说我有100帧动画。我也有一个“新行动”,也有100帧。当碰撞发生时,就像你的例子。我想停止“myAction”(让我们假设它在第20帧),并开始“newAction”,但问题是“newAction”应该从第20帧开始。 – 2010-11-10 14:09:19

+0

Ohhhhh!所以基本上你要做的就是完成剩下的动画,让他拿着球。我现在和你在一起,我认为我有完美的解决方案,但你从来没有告诉我它是否是你使用的spritesheet。 – pob21 2010-11-10 14:49:10

+0

实际上我正在使用[CCSpriteFrameCache addSpriteFramesWithFile]。 – 2010-11-11 23:31:21