我做了一个关于两艘船互相射击的小射击游戏。我使用paintComponent的方法来绘制或移动对象,但由于某种原因,它在每台计算机上的运行速度都不同。
我寻找了一个解决方案,并对我的游戏进行了一些修改,比如在线程中绘制和移动对象。现在,它在每台с计算机上都以相同的速度运行。如果我改变大小的话。但问题是我使用了J3DTimer.getValue()。
为了使用这个库,我下载了Java3d。如果计算机没有此库或安装,我的游戏将无法运行。我该如何解决这个问题?我应该告诉每个人设置Java##吗?:))
我也试过使用标准的System.currentTimeMillis(),但是我的游戏运行很慢……有什么想法吗?
发布于 2010-03-20 07:54:52
从Java1.5开始,有一种称为System.nanoTime()的方法,它通常比System.currentTimeMillis()精确得多(取决于底层硬件的功能)。
我认为System.nanoTime()应该是J3DTimer.getValue()的临时替代品。这样就消除了对Java3D库的依赖。
https://stackoverflow.com/questions/2481211
复制相似问题