게임에 일시 중지 기능을 추가하려고합니다. 불행히도 내가 현재 사용하고있는 방법은 프로그램이 더 이상 입력을받지 못하게하므로 게임을 다시 시작할 수 없습니다.자바 응용 프로그램에서 게임 일시 중지
일시 정지 버튼 전화 :
class aTask extends java.util.TimerTask {
protected Data data;
public aTask(Data d) { data = d; }
public void run() {
try{
if(data.paused){
try{
Thread.currentThread().sleep(100);
}
catch(InterruptedException ie){
System.out.println(ie);
}
}
else
data.tick();
}
catch(ATCGameOverException e){
data.gameOver(e.getMessage());
}
}
};
틱 :
public void pause(){
if(data.paused == true){
data.paused = false;
}
else{
data.paused=true;
while(true){
if(data.paused == true){
try{
Thread.currentThread().sleep(100);
}
catch(InterruptedException ie){
System.out.println(ie);
}
}
else
break;
}
data.paused=false;
}
return;
을 그때 내가 처리 할 가지고 TimerTask를가 여기에
내가 현재 뭘하는지입니다 매초마다 게임에서 행동을 일으킨다.이 버튼을 누르면 게임이 일시 중지되고 버튼을 다시 누르면 일시 중지 될 수 있다고 생각하지만 잘못된 것입니다. 내가 도대체 뭘 잘못하고있는 겁니까?
'aTask'는 게임 로직을 포함하고 있지 않은 경우 무엇입니까? 게임 논리 루프는 어디에 있습니까? – havexz
이 (가) 0 선수 게임입니다. http://www.technicalypto.com/2011/08/conways-game-of-life-in-java.html은 일시 중지가 필요한 0 플레이어 게임의 예입니다. 1 명의 플레이어 인 경우 더 많은 코드를 보여주십시오. – bragboy
왜 잠자기를 시도하고 잠시 멈춤 상태를 점검 할 수 있을까요? 나는 당신이 여전히 화면을 렌더링하거나 충돌의 경우 어떤 종류의 상태를 저장해야 할 수도 있습니다 같아요? –