小编Mub*_*bin的帖子

JavaFX AnimationTimer 没有正确停止

所以,我正在使用 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)

java javafx task java-threads

2
推荐指数
1
解决办法
129
查看次数

标签 统计

java ×1

java-threads ×1

javafx ×1

task ×1