2014-09-25 75 views
0

我的英雄精灵在物理精灵上。如果玩家(用户)在接触精灵时不会移动英雄2秒,我想结束游戏。在更新方法中,我正在检查两个精灵是否触摸时间超过2秒,如果真正运行“游戏结束”操作。这是密码CCActionDelay结束游戏序列

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

} 

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

回答

1

在您当前的代码中,一旦两个精灵都触摸并且用户没有触摸屏幕,它将快速关闭该操作。无论如何,它将在2秒内发生,因为它从未取消。

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