Искусственно замедлять время - PullRequest
0 голосов
/ 27 июля 2011

Так что в моей игре у меня есть:

seconds = ((elapsed  - now) / 1.0E9F);

Где elapsed и now System.nanoTime(); вызываются в разных местах кода.

Затем я преобразую это встрока и показать его пользователям.Основываясь на этом коде, у меня также есть обратный отсчет.

Я хочу время от времени замедлять этот отсчет, но не могу представить, как я это сделаю.

Может ли кто-нибудь мне помочь

Ответы [ 3 ]

1 голос
/ 27 июля 2011

Это не Java, но может помочь вам, так как в любом случае синтаксис C # мало чем отличается от java: P

http://blog.gallusgames.com/programming/a-custom-game-clock-in-csharp

1 голос
/ 27 июля 2011

Вы должны ввести интерфейс типа Clock, который имеет метод nanoTime.Имейте одну реализацию, которая просто оборачивает системные часы, другую, которая позволяет вам устанавливать время в произвольное время.Передайте любой необходимый вам экземпляр в код обратного отсчета.

0 голосов
/ 27 июля 2011

Ваш код должен ссылаться на System.nanoTime () в одном месте и только в одном месте. Во время тестирования вы можете перехватить время звонков в этом одном месте. Теперь вы можете делать отметки один раз на 10 реальных тиков или устанавливать произвольное значение времени и сбрасывать его во время тестов и т. Д.

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