Powered by Invision Power Board


  Reply to this topicStart new topicStart Poll

> Простой таймер, Таймер
DEXINDROVER
Отправлено: Мар 1 2016, 18:40
Quote Post


Админ
*

Группа: Администраторы
Сообщений: 4
Пользователь №: 1
Регистрация: 29-Февраля 16

Статус: Offline

Репутация: нет




В данном уроке рассказывается как в Unit при помощи скриптов
создавать простой таймер, используя Time.deltaTime и переменную типа float.


Воспользуемся сценой из предыдущего урока (с пустым игровым объектом,
генерирующим экземпляры префаба, т.е. BouncyBox).

user posted image

Создадим С#-скрипт и назовем его Timer. Добавим переменную myTimer, и напишем следующий код.


public float myTimer = 5.0f;

void Update() {
//Time.delaTime - время (сек), которое требовалось для отрисовки последнего кадра (read only)
myTimer -= Time.deltaTime;
if (myTimer <= 0.0f) {
Debug.Log("GAME OVER");
}
}


Сохраняем скрипт и переключаемся назад в Unity. Добавим скрипт к объекту GameObject.


Напомню, т.к. myTimer объявлена открытой (public), то в Inspector View вы можете менять ее начальное значение.

Жмем Play. Как только значение myTimer упадет до нуля, в статус баре вы увидите строку GAME OVER. Значение переменной myTimer будет продолжать опускаться (это можно увидеть в Inspector View).


Для того, чтобы переменная myTimer не опускалась ниже нуля, добавим еще одно ветвление в функцию Update(), в итоге мы получаем следующий код:

void Update () {
if(myTimer > 0){
myTimer -= Time.deltaTime;
}else if(myTimer <= 0){
Debug.Log("GAME OVER");
}
}


Нажмем Play и проследим за поведением переменной myTimer. Когда ее значение будет достаточно близким к нулю, то оно перестанет изменяться.
PMEmail Poster
Top
gorniks
Отправлено: Дек 1 2017, 07:25
Quote Post


Новичок
*

Группа: Пользователи
Сообщений: 1
Пользователь №: 13
Регистрация: 1-Декабря 17

Статус: Offline

Репутация: нет




А меня зовут Вася


--------------------
PMEmail Poster
Top
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Topic Options Reply to this topicStart new topicStart Poll

 


Текстовая версия