首先,我用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();
}