所以,我正在使用 JavaFX 创建蛇游戏,我似乎无法让游戏正确暂停,即它偶尔会暂停,而其他时候,游戏只是忽略了暂停。所以,基本上我有一个Main
类,我在其中初始化所有 GUI 组件,它还充当 javafx 应用程序的控制器。
我有一个启动/暂停游戏的Button
命名gameControl
,一个Boolean pause
跟踪游戏状态(新/暂停/运行)的变量,以及方法startGame
, pauseGame
。
该gameControl
按钮的EventHandler
情况如下:
gameControl.setOnClicked(event->{
if(paused == null) startGame(); //new game
else if(paused) continueGame(); //for paused game
else pauseGame(); //for running game
});
Run Code Online (Sandbox Code Playgroud)
该startGame
函数看起来像这样:
void startGame(){
paused = false;
Snake snake = new Snake(); //the snake sprite
//following gameLoop controls the animation of the snake
gameLoop = new AnimationTimer(){
@Override
public void handle(long now){
drawSnake(); //draws …
Run Code Online (Sandbox Code Playgroud)