【问题标题】:stack of actions for one sparite in cocos2dcocos2d中一个sprite的动作堆栈
【发布时间】:2012-05-23 20:23:46
【问题描述】:
我有一个问题:我的游戏英雄可以跳跃 (CCJumpTo) 并向前和向后移动 (CCMoveTo)。
我遇到了一个问题:如果游戏收到用户移动英雄的命令,但此时英雄正在跳跃(CCJumpTo),我该如何在跳跃结束后执行此命令。 (我可以在 cocos2d 中对一个 sprite 使用一些操作堆栈吗)
我不能立即使用 [self.sprite stopAllActions]; 开始 CCMoveTo 因为英雄必须完成跳跃动作,如果我使用 CCMoveTo 动作 CCJumpTo 不会完成。英雄无法跳跃并开始在高处前后移动。
对不起我的英语
【问题讨论】:
标签:
cocos2d-iphone
stack
action
【解决方案1】:
例如,您可以将动作堆栈存储在数组中,然后像这样运行动作
- (void) runNextAction
{
id actionFromStack = [stack objectAtIndex: 0];
[stack removeObjectAtIndex: 0];
id callback = [CCCallFunc actionWithTarget: self selector: @selector(runNextAction)];
id sequence = [CCSequence actionOne: actionFromStack two: callback];
[self runAction: sequence];
}