2

2 隻の船が互いに発砲する小さなシューティング ゲームを作成しました。オブジェクトの描画または移動に paintComponent のメソッドを使用しましたが、何らかの理由で、コンピューターごとに異なる速度で実行されました。

私は解決策を探し、スレッド内のオブジェクトの描画や移動など、ゲームにいくつかの変更を加えました。現在、すべてのコンピューターで同じ速度で実行されます。また、サイズを変更した場合。しかし問題は、J3DTimer.getValue() を使用したことです。

このライブラリを使用するために、Java3d をダウンロードしました。コンピュータにこのライブラリまたはインストールがない場合、ゲームは動作しません。どうすればこの問題を解決できますか? みんなに Java## をセットアップするように言うべきですか? :))

また、標準の System.currentTimeMillis() を使用してみましたが、ゲームの動作が非常に遅くなります...何かアイデアはありますか?

4

1 に答える 1

2

Java 1.5 以降、 と呼ばれるメソッドがありました。これは一般に(基盤となるハードウェアの機能によって異なります)System.nanoTime()よりもはるかに正確です。System.currentTimeMillis()

System.nanoTime()のドロップイン代替品であるべきだと思いますJ3DTimer.getValue()。そうすれば、Java3D ライブラリーへの依存を取り除くことができます。

于 2010-03-19T23:54:51.573 に答える