我的英雄精灵是一个物理精灵。如果玩家(用户)在触摸精灵的同时没有移动英雄2秒钟我想结束游戏。在更新方法中,我正在检查两个精灵是否触摸超过2秒,如果是,则运行“游戏结束”动作。这是代码
if( TWO SPRITES ARE TOUCHING && USER ISN"T TOUCHING THE SCREEN ){
[_hero runAction:[CCActionSequence actions:[CCActionDelay actionWithDuration:2.0f],
_gameOverAction,
nil]];
}
即使用户按住,结束游戏操作也会运行。基本上如果你不触摸屏幕来移动精灵,游戏应该结束。有什么建议?
答案 0 :(得分:1)
在您当前的代码中,只要有两个精灵正在触摸并且用户没有触摸屏幕,它就会快速关闭动作。它将在2秒内发生,无论它从未被取消。
您需要做的是保留上次发生时间的变量,并检查自更新循环后是否经过了2秒。如果有,那么你可以通过方法调用游戏。