Java3D得到时间问题

时间:2010-03-19 23:44:31

标签: java multithreading timing

我制作了一个小型射击游戏,两艘船相互射击。我使用paintComponent的方法绘制或移动对象,但由于某种原因,它在每台计算机上以不同的速度运行。

我搜索了一个解决方案并对我的游戏进行了一些修改,比如在线程中绘制和移动对象。现在它在每台计算机上以相同的速度运行。如果我改变大小。但问题是我使用了J3DTimer.getValue()。

要使用此库,我下载了Java3d。如果计算机没有此库或安装我的游戏不起作用。我怎么解决这个问题?我应该告诉大家设置Java ##吗? :))

此外,我尝试使用标准的System.currentTimeMillis(),但后来我的游戏工作很慢......有什么想法?

1 个答案:

答案 0 :(得分:2)

从Java 1.5开始,有一个名为System.nanoTime()的方法,它通常比System.currentTimeMillis()精确得多(取决于底层硬件的功能)。

我认为System.nanoTime()应该是J3DTimer.getValue()的替代品。这样就消除了对Java3D库的依赖。