Пишем спидометр в Unity

unityРанее мы научились писать таймер в Unity, пришло время научиться делать спидометр в Unity! Отображение такой переменной, как “Скорость” зависит от многих факторов, например, от жанра игры или учета конечного результата. В целом, формула расчета скорости и отображение его на экране это простая задача. Сразу скажу, что будут использованы материалы, которые использовались в моем проекте.

Пишем спидометр в Unity

Что означает последняя фраза? Сам код и скриншот(ы), будут взяты и собственных наработок. Это значит, что его можно использовать в качестве примера. Но я думаю каждому инди-разработчику и так ясно, что любой, представленный в интернете код, нужно адаптировать под свои нужды. Давайте взглянем на работу таймера:

Выглядит симпатично, как считаете? Давайте обратим внимание сразу на правую часть скриншота. В инспекторе виден компонент скрипт, а внутри 2 объекта: Player и CurrentSpeed (text). Так как я использую текстовый компонент для отображение динамических данных, пришлось немножко позаморачиваться… Давайте перейдем ко внутренней части.

Итак, в принципе не так уж и сложно. Собираем результат расчета формулы в строке get { возвращаемое значение от компонента RigidBody.velocity.magnitude умноженное на 3.6 фрейма. Получаем адекватную скорость. Далее в методе Update преобразуем значение переменной CurrentSpeed до целочисленного и далее преобразуем это в строку. Результат присваивается компоненту текст текстовому объекту SpeedText. Ну и все, в принципе получилось очень простенько и кратко. Можете использовать этот код в своих разработках. Если вы подпишитесь на наш Youtube-канал или группу в ВК, или любой другой ресурс, для нас это будет крайне высокой наградой. А если есть желание помочь развитию проекта, то воспользуйтесь формой ниже для доната. Спасибо за внимание!

0

Автор публикации

не в сети 3 часа

Vapi

0
Комментарии: 20Публикации: 69Регистрация: 14-04-2017

Поделиться в соц. сетях:

Понравилась статья? Поблагодари автора, накорми печеньками! :)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *