2012-01-04 101 views
0

我将我的J2ME 2D游戏引擎移植到J2SE,我想知道应该使用哪些类来归档最佳性能。我目前使用SingleFameApplication来创建一个窗口,一个用于主游戏循环的FrameView和一个用于渲染表面的JPanel。但这可能不会做..java SE 2d游戏哪个类用于获得最佳性能

问题是当我启动引擎打开一个窗口,但是当我开始执行(渲染+物理+碰撞检测)它挂起。有人可以解释哪些类可以使用吗?我应该把游戏循环放入一个新的线程(或者frameview是否有自己的线程)?我应该使用JFrame而不是SingleFrameApplication?

+0

你有paint()方法中的游戏循环吗? – 2012-01-04 22:25:05

回答

1

我不认为选择正确的框架有很多与此有关。

您能否提供更多的crash/hang信息?在那之前,我想我们会在黑暗中拍摄。

是的,总是一个好主意,让线程中的循环(包括所有关键处理)并且只在需要时才进行绘制。 (很像进度条比喻)

关于

+0

这不是由异常或其他事件引起的崩溃,但是窗口变得没有响应(也没有关闭/最小化/最大化工作)。它看起来像主要的UI线程被阻止。试着把它放在一个线程中并回传。 – blejzz 2012-01-04 22:20:28

+0

我是对的,frameview不在线程中,所以它阻塞了整个UI线程。添加新线程修复了问题:) – blejzz 2012-01-04 23:00:10