2012-05-01 2 views
0

나는 뱀과 사다리 게임을 디자인하고 있습니다. 나는 주사위의 이미지를 통해 그리고 사다리, 뱀 클래스를 위해 반복하는 타이머를 사용하고 있습니다.자바 게임에서 지연을 방지하는 방법

Thread.sleep()을 사용하여 PC 턴과 플레이어 턴 사이에 약간의 대기 시간이 생기면 문제가 있습니다. 문제는 플레이어 버튼이 사다리가있는 사각형에 놓인 타이머와 같이 프로세스가 진행되는 동안 지연이 발생한다는 것입니다. 버튼이 사다리의 꼭대기에 올 때까지 시간이 걸립니다. 그리고 뱀과 주사위도 마찬가지입니다.

Google에서 많이 찾았지만 해결책을 찾지 못했습니다. 어떤 도움이라도 도움이 될 것입니다.

+2

이 정보로 얻을 수있는 유일한 대답은 일반적인 대답입니다. Swing 이벤트 스레드에서 처리하지 마십시오. –

+1

더 나은 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 'Thread.sleep()'는 'EDT 차단'과 같이 의심스럽게 들립니다. –

+0

불완전한 정보는 유감이지만 모든 코드를 게시하지 않은 유일한 이유는 내 코드가 500 행 이상이라는 것입니다. @ Gilbert Le Blanc, 단추가 사다리가있는 사각형에 있으면 그것이 사다리의 꼭대기에 올 때까지 위로 움직여야합니다. 그리고 그것이 지연이 시작되는 곳입니다. 스레드 대신 PC 턴과 플레이어 턴 사이에 지연을 만들기 위해 사용할 수있는 다른 방법이 있습니까? 자다() ? 고마워요. @ Anish 굽타, 죄송합니다.하지만이 웹 사이트를 처음 접하니 확실히 할게요. :) – user1172575

답변

4

작업의 시작과 끝 부분에 시간 소인을 입력하여 작업 수행 시간을 확인한 다음 잠자기 시간에서 빼십시오.

고정 된 간격으로 실행하려면 뭔가 Timer을 사용하십시오.

+2

* "시간을 가져라."* .. 우리는 1.4로 돌아 간다! 더 이상 사용되지 않는 JRE에 대해서는 JavaDocs에 링크하지 마십시오. –

관련 문제