我想在使用TaskTimer的遊戲循環中做一個簡單的暫停功能,但它不起作用。任務計時器有問題嗎?我應該使用其他util嗎?我一直堅持這一段時間。TaskTimer不能在遊戲循環中工作
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
public class test extends JFrame implements KeyListener, Runnable {
public boolean pause = false;
public test() {
new JFrame();
addKeyListener(this);
setVisible(true);
}
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
if (pause) {
System.out.println("Paused");
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
System.out.println("Some Pause Related Task");
pause = false;
}
}, (long) 3000);
}
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if (c == KeyEvent.VK_SPACE) {
System.out.println("typed space");
pause = true;
}
}
public static void main(String[] args) {
new test();
}
}