Найти тему
XeLer

Как добавить в свою игру на Unity таймер | Unity Tutorial

Оглавление

Привет, в этой статья я покажу как добавить таймер в игру на Unity. Для примера возьму свою игру "Tower Up!". В ней таймер используется для обновления квестов. То есть когда он будет равен нулю, то квесты обновятся, добавляется он достаточно просто и щас вы в этом убедитесь :)

Разделим его создание на два этапа:

1) Визуальный

2) Программный

Визуальный этап

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

1) Создаем текст для таймера

Для этого переходим в "Hierarchy" > "нажимаем на плюсик" > "UI" > "Text".

Добавление Text в Unity
Добавление Text в Unity

размещаем его там, где вы хотите, чтобы у вас находился таймер. Напишем в текст какое-нибудь время, чтобы он не был пустым)

Размещение Text
Размещение Text

На этом с визуальной часть закончим и перейдём к коду.

Программный этап

Создаём новый скрипт, для этого в нижней панели "Project" на пустом месте нажимаем правую кнопку мыши и в появившийся панели выбираем "Create" > "C# Script". Назовём его "Timer". Перекидываем его на текст, который мы только что создали.

Открываем скрипт "Timer" двойным нажатием левой кнопки мыши и пишем следующий код.

Код таймера
Код таймера

Объяснение кода

Для начала мы подключаем две библиотеки, это "UnityEngine.UI" и "System". Библиотека UI нам нужна для того, чтобы мы могли работать с UI элементами, а System нужна, чтобы пользоваться "DateTime", "TimeSpan".

Потом создаём 4 переменных:

1) msToWait - Сколько миллисекунд нужно отсчитать.

2) _Timer - Она отвечает за отображение времени в тексте, который мы создали до этого.

3) timer_restart - нужна для перезапуска времени, когда оно будет равно нулю.

4) lastOpen - сохраняем в неё время последнего входа в игру.

Метод Start:

- Первая строчка: записываем в переменную "lastOpen" время последнего входа в игру.

- Вторая строчка: переменной "_Timer", присваиваем компонент "Text".

- Третья строчка: проверяем была ли запущена игра до этого

Метод Update:

Проверяем равна ли переменная "timer_restart" "false". Потом проверяем, закончилось время или нет, и ниже пишем код самого таймера.

Метод IsReady():

В нем мы сохраняем последнее время входа и делаем проверку если время равно нулю, то перезапускаем таймер.

Итог

Сейчас таймер у нас отсчитывает 5 секунд для того, чтобы он отсчитывал 24 часа в окошко "MsToWait" нужно вставить число "8,64e+7".

-6

Ну вот и всё, мы с вами добавили таймер в свою игру :)