退出框架并创建新框架?
Exit out of frame and create new frame?
switch(arg0.getKeyCode()) {
//if keycode is 'd' key
case 68:
break;
case 65:
System.out.println("stuff for left key using a");
break;
case 87:
shark.MoveUp();
break;
case 38:
shark.MoveUp();
break;
case 82:
new Game();
break;
}
所以游戏就是class的名字。这不是 JFrame。当我尝试调用 jframe 时,它无法识别它。当我按“R”时,它会创建一个新游戏,但不会删除旧游戏。当旧游戏运行在后台时,新游戏会因为卡顿而无法玩。我如何删除 运行ning 的旧游戏和 运行 我在 case 82 中开始的新游戏?
我强烈建议在旧游戏上使用 JFrame.dispose(),只要它能扩展 JFrame。如果没有,您可以向 Game class 添加一个方法来处理它包含的 JFrame。这样的方法看起来像这样:
JFrame frame = new JFrame("game");//Lets assume thats your frame in Game
//that should be your method inside of Game class:
public void gameDispose(){
if(frame != null)
frame.dispose();
}
现在您可能遇到的唯一问题是无法调用此处置方法,因为您的游戏不在变量内。因此,当创建游戏时,它应该在变量内部发生,如下所示:
Game g = new Game();//Just for understaning of g variable.
稍后需要时调用您的方法。
因此您的代码应如下所示:
Game g = new Game();
switch(arg0.getKeyCode()) {
//if keycode is 'd' key
case 68:
break;
case 65:
System.out.println("stuff for left key using a");
break;
case 87:
shark.MoveUp();
break;
case 38:
shark.MoveUp();
break;
case 82:
g.dispose().
g = new Game()
break;
}
switch(arg0.getKeyCode()) {
//if keycode is 'd' key
case 68:
break;
case 65:
System.out.println("stuff for left key using a");
break;
case 87:
shark.MoveUp();
break;
case 38:
shark.MoveUp();
break;
case 82:
new Game();
break;
}
所以游戏就是class的名字。这不是 JFrame。当我尝试调用 jframe 时,它无法识别它。当我按“R”时,它会创建一个新游戏,但不会删除旧游戏。当旧游戏运行在后台时,新游戏会因为卡顿而无法玩。我如何删除 运行ning 的旧游戏和 运行 我在 case 82 中开始的新游戏?
我强烈建议在旧游戏上使用 JFrame.dispose(),只要它能扩展 JFrame。如果没有,您可以向 Game class 添加一个方法来处理它包含的 JFrame。这样的方法看起来像这样:
JFrame frame = new JFrame("game");//Lets assume thats your frame in Game
//that should be your method inside of Game class:
public void gameDispose(){
if(frame != null)
frame.dispose();
}
现在您可能遇到的唯一问题是无法调用此处置方法,因为您的游戏不在变量内。因此,当创建游戏时,它应该在变量内部发生,如下所示:
Game g = new Game();//Just for understaning of g variable.
稍后需要时调用您的方法。
因此您的代码应如下所示:
Game g = new Game();
switch(arg0.getKeyCode()) {
//if keycode is 'd' key
case 68:
break;
case 65:
System.out.println("stuff for left key using a");
break;
case 87:
shark.MoveUp();
break;
case 38:
shark.MoveUp();
break;
case 82:
g.dispose().
g = new Game()
break;
}