2014-09-25 1 views
0

내 영웅 스프라이트가 물리 스프라이트에 있습니다. 플레이어 (사용자)가 스프라이트를 터치하는 동안 영웅을 2 초 동안 움직이지 않으면 나는 게임을 끝내고 싶다. 업데이트 메소드에서 2 개의 스프라이트가 2 초 이상 닿아 있는지 확인하고 true이면 "게임 오버"액션을 실행합니다. 코드입니다CCActionDelay in End Game Sequence

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

} 

사용자가 누르고 있어도 게임 종료 동작이 실행됩니다. 기본적으로 화면을 터치하여 스프라이트를 이동하지 않으면 게임이 종료됩니다. 어떤 제안?

답변

1

두 개의 스프라이트가 만지 자마자 사용자가 화면을 터치하지 않으면 즉시 조치를 취할 것입니다. 그것은 결코 취소되지 않기 때문에 2 초 안에 일어날 것입니다.

대신해야 할 일은 마지막으로 발생한 시간의 변수를 유지하고 업데이트 루프에서 2 초가 지난지를 확인하는 것입니다. 그것이 있으면 당신은 방법을 통해 게임을 부를 수 있습니다.