如何用暂停来编程游戏循环?

时间:2015-12-03 03:05:37

标签: java

首先,我用Java编写一个简单的Snake娱乐系统,我需要你对如何在游戏中进行游戏循环/暂停的建议。现在游戏完全正常,但我在我的代码中使用了Timer类,我不确定它是否正确。我的问题是什么是编写游戏循环和暂停游戏的最佳方法,以及如何加速蛇(我希望有4个不同的级别)?我附上了我目前的“游戏圈”。

这是计时器的初始化:

    level = model.getLevelTime();
    gameTimer = new Timer(level,this);
    gameTimer.start();

这是一个循环。

public void actionPerformed(ActionEvent event) 
{
    gameLoop();
}

public void gameLoop()
{
    view.passArrays(model.snake.getPosX(), model.snake.getPosY());
    view.snakePanel.updateMoveDirection(model.snake.getUp(), model.snake.getDown(), model.snake.getRight(), model.snake.getLeft());

    if(model.snake.getGrown())
        model.snake.addBodyPart();

    model.snake.moveSnake();
    model.fruit.checkIfEaten(model.snake.getXPos(), model.snake.getYPos());

    view.passApplePos(model.fruit.getAppleXPos(), model.fruit.getAppleYPos());
    view.snakePanel.setScore(model.getScore());

    refresh();
    checkGameOver();
    defineActions();
}

0 个答案:

没有答案