Java3D получает проблему со временем - PullRequest
2 голосов
/ 20 марта 2010

Я сделал маленькую стрелялку, в которой два корабля стреляли друг в друга. Я использовал методы paintComponent для рисования или перемещения объекта, но по какой-то причине он работал с разной скоростью на каждом компьютере.

Я искал решение и внес некоторые изменения в свою игру, например рисование и перемещение объектов в потоке. Теперь он работает с одинаковой скоростью на каждом компьютере. Также, если я изменю размер. Но проблема в том, что я использовал J3DTimer.getValue ().

Для использования этой библиотеки я скачал Java3d. Если на компьютере нет этой библиотеки или установки, моя игра не работает. Как я могу решить эту проблему? Должен ли я сказать всем, чтобы настроить Java ##? :))

Также я попытался использовать стандартный System.currentTimeMillis (), но тогда моя игра работает очень медленно ... Есть идеи?

1 Ответ

2 голосов
/ 20 марта 2010

Начиная с Java 1.5, существует метод, называемый System.nanoTime(), который, как правило, гораздо более точен, чем System.currentTimeMillis() (в зависимости от возможностей базового оборудования).

Я думаю, System.nanoTime() должно бытьвставная замена для J3DTimer.getValue().Таким образом вы удалите свою зависимость от библиотеки Java3D.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...