Yapmak istediğim şu enter'a basdığımda oyunu başlatmak istiyorum.Bununla ilgili şöyle bir test yazdım.
public class SnakeGame extends JFrame {
private static final long serialVersionUID = 2981978303113913224L;
boolean isNewGame = false;
public SnakeGame() {
super();
setTitle("Snake Game");
setSize(600,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setResizable(false);
setLocationRelativeTo(null);
setVisible(true);
addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_UP:
case KeyEvent.VK_W:
break;
case KeyEvent.VK_DOWN:
case KeyEvent.VK_S:
break;
case KeyEvent.VK_LEFT:
case KeyEvent.VK_A:
break;
case KeyEvent.VK_RIGHT:
case KeyEvent.VK_D:
break;
case KeyEvent.VK_ENTER:
isNewGame = true;
break;
case KeyEvent.VK_P:
break;
}
}
});
}
public void start() {
while(true) {
if (isNewGame) {
setSize(200,200);
}
}
}
public static void main(String[] args) {
SnakeGame game = new SnakeGame();
game.start();
}
}
Şu haliyle enter'a basdığımda ekran 200x200 olması lazım ama olmuyor.Yani if komutu işlemiyor.
Şöyle bir ilginç durum var eğer start metoduna şöyle bir ekleme yaparsam çalışıyor.
Sorun nerde anlayamadım.Yardım ederseniz sevinirim.
public void start() {
while(true) {
if (isNewGame) { System.out.println(isNewGame);
setSize(200,200);
}
}
}
Yeni üyeyim eğer formatın dışına çıktıysam özür dilerim.