结束游戏序列中的CCActionDelay

时间:2014-09-25 21:40:53

标签: cocos2d-iphone ccaction

我的英雄精灵是一个物理精灵。如果玩家(用户)在触摸精灵的同时没有移动英雄2秒钟我想结束游戏。在更新方法中,我正在检查两个精灵是否触摸超过2秒,如果是,则运行“游戏结束”动作。这是代码

if( TWO SPRITES ARE TOUCHING && USER ISN"T TOUCHING THE SCREEN ){
    [_hero runAction:[CCActionSequence actions:[CCActionDelay actionWithDuration:2.0f],
                      _gameOverAction,
                      nil]];

}

即使用户按住,结束游戏操作也会运行。基本上如果你不触摸屏幕来移动精灵,游戏应该结束。有什么建议?

1 个答案:

答案 0 :(得分:1)

在您当前的代码中,只要有两个精灵正在触摸并且用户没有触摸屏幕,它就会快速关闭动作。它将在2秒内发生,无论它从未被取消。

您需要做的是保留上次发生时间的变量,并检查自更新循环后是否经过了2秒。如果有,那么你可以通过方法调用游戏。