【问题标题】: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];
    }
    

    【讨论】:

    • 谢谢,我明白了,cocos2d 有自己的选项吗?
    • 如果存在这样的机制,我对此一无所知=)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 2014-03-17
    • 1970-01-01
    • 2013-11-18
    相关资源
    最近更新 更多