我制作了一个小型射击游戏,两艘船相互射击。我使用paintComponent的方法绘制或移动对象,但由于某种原因,它在每台计算机上以不同的速度运行。
我搜索了一个解决方案并对我的游戏进行了一些修改,比如在线程中绘制和移动对象。现在它在每台计算机上以相同的速度运行。如果我改变大小。但问题是我使用了J3DTimer.getValue()。
要使用此库,我下载了Java3d。如果计算机没有此库或安装我的游戏不起作用。我怎么解决这个问题?我应该告诉大家设置Java ##吗? :))
此外,我尝试使用标准的System.currentTimeMillis(),但后来我的游戏工作很慢......有什么想法?
答案 0 :(得分:2)
从Java 1.5开始,有一个名为System.nanoTime()
的方法,它通常比System.currentTimeMillis()
精确得多(取决于底层硬件的功能)。
我认为System.nanoTime()
应该是J3DTimer.getValue()
的替代品。这样就消除了对Java3D库的依赖。