나는 Swing을 AI로 사용하여 간단한 보드 게임을 만들고있다. AI가 차례대로 이동하도록 허용하기 전에 약 3 초 동안 게임을 "일시 중지"하여 사용자가 이동 결과를 볼 수있게하고 싶습니다. Thread.sleep (3000)을 호출하면 Trident Animation Library를 사용하여 만든 애니메이션이 일시 중지됩니다. 3 초가 지나면 공백이 원래 있던 색상으로 바뀌고 애니메이션은 전혀 수행되지 않습니다.자바 트라이던트 라이브러리 및 Thread.sleep()
누구든지 조언을 제공 할 수 있다면 알려주세요. 나는 항상 AI가 턴을 시작하기 전에 사용자가 누를 수있는 "Continue"버튼을 추가 할 수 있지만, 나는 그 단계를 피하고 싶습니다.
편집 : 여기 내 싱글 플레이어 패널이 있습니다. 현재의 보드를 기반으로 GUI를 업데이트 할 수있는 추상 클래스 인 GamePanel을 확장합니다. 또한 JPanel을 확장합니다. 나는 그것이 내가이 클래스 또는 다른 클래스에 있는지 여부에 관계없이 내가 원하는 것을하기 위해 타이머를 구현하는 곳/방법에 관해서는 조금 불분명하다고 생각한다.
더 나은 대답입니다. 1 + –
왜 고마워요 :) –
또한이 솔루션을 사용하여 내 Player 클래스가 Runnable을 구현하고 run()을 재정의했습니다. 내 ComputerPlayer 클래스 내에서 Thread.sleep()을 호출했지만 애니메이션은 여전히 일시 중지 된 다음 색상이 변경됩니다. 정확히 내가 뭘 잘못하고 있는지 모르겠습니다. 잠시 후에 코드를 업데이트하겠습니다. – Cuthbert