0

我对游戏编程有点陌生,我决定用 Java 做一个小实验。我正在使用 Swing/AWT api 通过在 JPanel 上绘图来实现游戏。但是,我不确定如何在游戏中实现“打发时间”。有人对此有任何想法吗?

谢谢!

4

2 回答 2

1

也许您应该查看Java中的线程: http ://www.javaworld.com/jw-04-1996/jw-04-threads.html 创建一个专门用于重新绘制和处理游戏循环的新线程(请参阅其他答案) .

编辑:本教程可能有用:http: //zetcode.com/tutorials/javagamestutorial/

于 2012-08-07T15:12:44.917 回答
1

您要查找的内容称为游戏循环。有很多关于此的文档。这是一个简单的:

private boolean isRunning;

public void gameLoop()
{
    while(isRunning) //the loop
    {
        doGameUpdates();
        render();
        Thread.sleep(1000); //the timing mechanism
    }
}

这个想法是while循环内的代码被一遍又一遍地执行,并且在执行之间会休眠1秒。这是实现“时间流逝”的一种方式。例如,如果您有一个具有 X 位置的对象,并且在您 put 的 while 循环中object.X += 1,该对象的 X 位置将在循环的每次迭代中前进 1,即每秒 1。

这是一个非常基本的游戏循环,它有一些问题,但如果你是初学者,它就可以了。一旦您变得更有经验,请查找可变和固定时间步长的游戏循环。

但是,您必须在单独的线程中运行此代码,以便实际更新显示。

于 2012-08-07T15:13:15.400 回答