Как правильно создать цикл таймера?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как правильно создать цикл таймера?

Сообщение NOVA 05 ноя 2012, 01:15

Такой вот вопрос больше к программистам.
Со временем начинаешь понимать, что гемплэй в играх не должен висеть на времени и скорости анимации персонажа. Причина проста, анимация должна быть быстрой, но плавной. Плавность достигается за счёт "хвостов" анимации, а как сделать задержку на отклик клавиатуры. (MK3 таймер на апперкот кто помнит, тот поймёт)
Иначе говоря: int timer; timer+=1; если нажали кнопку и таймер больше 10 - срабатывает анимация и какой нибудь статус персонажа, таймер сбрасывается.
Проблема данного способа в том что на разных компьютерах единица прибавляется с разной скоростью. Есть варианты кроме fixed update?

Зы: Врозвращаемся к тому, с чего начали.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как правильно создать цикл таймера?

Сообщение waruiyume 05 ноя 2012, 01:31

Синтаксис:
Используется csharp
float timer;

void Update
{
     //bla bla
     timer+=Time.deltaTime;
}
 

Не подходит?
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Как правильно создать цикл таймера?

Сообщение NOVA 05 ноя 2012, 06:42

А не знаю. Попробовайт надо на разных машинах. А вообще спасиб. Если бы я понимал суть устройства Time.deltaTime, то наверное и не задавал бы таких вопросов.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia

Re: Как правильно создать цикл таймера?

Сообщение Receptor 05 ноя 2012, 07:40

Точную выдержку времени относительно текущего/реального времени сделать нереально в принципе, так как это все равно будет зависить от машины, но разницы ВЫ вряд ли почуствуете. А вообще действительно Time.deltaTime в помощь =)
_VK.com
Аватара пользователя
Receptor
Адепт
 
Сообщения: 1706
Зарегистрирован: 22 ноя 2011, 07:09
Откуда: Волгодонск

Re: Как правильно создать цикл таймера?

Сообщение Good1101 05 ноя 2012, 07:53

NOVA писал(а):А не знаю. Попробовайт надо на разных машинах. А вообще спасиб. Если бы я понимал суть устройства Time.deltaTime, то наверное и не задавал бы таких вопросов.

время затраченное на выполнения последнего кадра в секундах. допустим если фпс 100 то в среднем Time.deltaTime будет возвращать 0.01 за один кадр и соответственно в такой конструкции

Синтаксис:
Используется csharp
float timer;

void Update
{
     //bla bla
     timer+=Time.deltaTime;
}

float timer будет содержать прошедшее время в секундах. При этом совершенно не важно сколько кадров выполняется в секунду.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Как правильно создать цикл таймера?

Сообщение Chaz 05 ноя 2012, 10:14

так в юньке же есть своя функция возвращающая прошедшее время с запуска проги. Time.time вроде
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: Как правильно создать цикл таймера?

Сообщение NOVA 05 ноя 2012, 11:49

Спасибо Посоны) Будем юзать.
Аватара пользователя
NOVA
Адепт
 
Сообщения: 1741
Зарегистрирован: 17 май 2011, 11:45
Откуда: Дядя Саша from Mother Russia


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 26