以最有效的方式在不同时间绘制多个对象

时间:2013-11-04 21:28:38

标签: java animation awt paint

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

非常感谢任何反馈或想法。谢谢! :)

我的意思是:

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

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

1 个答案:

答案 0 :(得分:0)

理想情况下,您需要将实际游戏逻辑与渲染分开。在绘制线程的单独线程上进行计算,移动等。这可能与并发性有关,但这仍然是一个好主意。

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

相关问题