1

所以我有一个任务,我必须创建一个“游戏”类型的应用程序,其中有多个移动对象(肯定超过 10 个),有些是由用户 KeyEvents 触发的。我似乎理解这个概念,但我有一个问题。如何绘制所有对象(上下动画)并包含 KeyEvent,以便它们同时执行,而不是按线性顺序进行。我为此查找了多线程,但我非常怀疑这是否是一个好主意,因为我觉得这可以只用 1 个线程来完成。

任何反馈或想法将不胜感激。谢谢!:)

我的意思的一个例子是:

public void onPaint(Graphics g){
g.draw(apple);
g.draw(character);
moveCharacter(g);
moveApple(g);
}

所以在这里,我必须先移动角色,然后是苹果,我怎样才能同时移动它们呢?除了多个对象。

4

1 回答 1

0

理想情况下,您需要将实际游戏逻辑与渲染分开。在与绘图线程不同的线程上进行计算、移动等。与并发相关的这可能会引起一些微妙的复杂性,但这仍然是一个好主意。

目前尚不清楚“同时执行两者”是什么意思,但代码应该执行得如此之快,以至于它可能同时执行。您要避免的是在方法中有任何类型的阻塞(例如用户输入)。

于 2013-11-04T21:46:34.163 回答