2012-05-02 4 views
0

확률 시스템 시뮬레이션 수행.시뮬레이션을 일시 중지하는 방법은 무엇입니까?

버튼을 누를 때 시뮬레이션을 일시 중지해야합니다.

현재 'P'를 누르면 내 시뮬레이션이 절대 멈추지 않습니다. 그러나 일시 중지 해제 키를 누르면 시뮬레이션이 일시 중지되지만 일시 중지 된 상태에서 일시 중지되지 않습니다.

즉, 공이 중간 인 경우 일시 중지 한 후 일시 중지 해제 한 후에 공이 위로부터 다시 생성되어 볼이 그 사이에 아래쪽으로 이동했음을 알립니다.

내가 이것을 달성하기 위해 사용되는 알고리즘입니다 -

if (UserPress == 'P') 
    Pause = !Pause; 

if (Pause) 
{ 
    ball.Update; 
    ReDraw(); 
} 

답변

1

업데이트 (내부의 "시뮬레이션"을 수행 할 수있는 실시간)을 사용하는 경우, 해제 일시 정지, 실시간이 경과 한 경우에도 그것은 멈추었 기 때문에 "공"이 움직 였기 때문입니다. 마지막으로 일시 중지되지 않은 프레임 이후의 경과 시간과 ball.Update()를 사용하는 시간을 관련시켜야합니다.

물론 코드에서 볼 수없는 완전히 다른 것이 있습니다.

관련 문제