我对 Java(C# 程序员)很陌生,我在这里遇到了一个我不明白的问题。对不起糟糕的英语。=)
我正在开发一个简单的 Snake 游戏,我有不同的类、枚举等。我的问题是,如果我使用 Menu 类中的游戏调用 JFrame,它不会做任何事情。我可以通过代码进行调试,但它没有绘制任何东西。如果我直接从 Main 方法启动 Game 类,没有问题。
我认为这是一个简单的错误,我只是愚蠢地看到它。
这里的代码:
鼠标事件:
else if (mouseX > 75 && mouseX < 175 && mouseY > 260
&& mouseY < 285) {
startGame();
Menu 类中的 startGame 方法:
public void startGame(){
this.setVisible(false);
game = new Game();
}
游戏构造器:
public Game() {
super("Snake V 0.1");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(940, 620);
setLocation(200, 200);
addKeyListener(keyListener);
setVisible(true);
//this.createBufferStrategy(2);
zeichnung.addFigur(new Field(0, 0));
snake = new Snake(40, 300, 1);
zeichnung.addFigur(snake);
zeichnung.addFigur(new Diamond());
this.getContentPane().add(jpanel);
this.repaint();
this.Intervall();
}
间隔:
public void Intervall() {
while (true) {
try {
snake.direction = keyListener.getDirection();
zeichnung.checkCollision(snake);
snake.move();
this.repaint();
Thread.sleep(150);
} catch (InterruptedException e) {
// TODO: handle exception
}
}
}
正如我之前所说。如果我直接从 Main 方法启动 Game 类(简单的 Game game = new Game();)就没有问题。
我希望我不会忘记任何重要信息。