Робота с Временим

Общие вопросы о Unity3D

Робота с Временим

Сообщение vovan1990 13 фев 2017, 18:21

Всем привет столкнулся с такой проблемой, мне нужно чтоби по нажатии на кнопку начал действовать таймер и условия, сначала я сделал просто создал кнопку вибрал метод и ничего не получилось таймер показался и стал, тогда я понял что так не получится потому что кнопка исполняет все 1 кадр, попитался сделать иначе через bool скрипта виключил его и при нажатии он включался но и ето не помогло так как мне нужно не одноразово его виполнять, а каждий раз когда нажму на кнопку. Помогите кто знает что сделать вот скрипт:
void Update()
{

if (timer_1 > 0)
{
timer_1 -= Time.deltaTime;
slid.value += Time.deltaTime;
time_text.text = "" + timer_1.ToString("F");
colorBatton = GameObject.Find("Button").GetComponent<Image>().color = colorBatton;
if (timer_1 <= 0)
{
col -= 2;
info_mlin.text = "" + col.ToString("F");
muka += 1;
nomber.text = "" + muka.ToString("F");
gris += 1;
nomber1.text = "" + gris.ToString("F");

}
}
}
}
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07

Re: Робота с Временим

Сообщение Paul Siberdt 13 фев 2017, 18:26

А кто такой Временим? Робота-то я могу представить, а второго - не совсем.


Читаем код:

void Update() // на каждом кадре выполняем:
{

if (timer_1 > 0) // если таймер больше нуля...
{
timer_1 -= Time.deltaTime; // убываем таймер
slid.value += Time.deltaTime; // приращаем что-то еще
time_text.text = "" + timer_1.ToString("F"); // выводим значение таймера
colorBatton = GameObject.Find("Button").GetComponent<Image>().color = colorBatton; // делаем кувырок через голову и хлопаем в ладоши

if (timer_1 <= 0) // если таймер обнулился
{
col -= 2; // что-то уменьшаем
info_mlin.text = "" + col.ToString("F"); // запоминаем строковое значение этого чего-то с заклинанием F
muka += 1; // что-то 2 еще увеличиваем
nomber.text = "" + muka.ToString("F"); // запоминаем строковое значение этого чего-то 2 с заклинанием F
gris += 1; // что-то 3 увеличиваем
nomber1.text = "" + gris.ToString("F"); // запоминаем строковое значение этого чего-то 2 с заклинанием F
}
}
}


Я, в принципе, нихрена не понял, что вы делаете и что у вас не работает.

А, вот чего не могу понять уже давно: какого попугая, все юзают ToString? И какого попугая юзать ToString в выражении, где присутствует строка (в вашем случае - нулевая)?
номберВан.текст = "" + грис; // Все, больше ничего не надо вымучивать[/color]
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Робота с Временим

Сообщение vovan1990 13 фев 2017, 18:37

public float timer_1;
public Slider slid;
public Text info_mlin;
public Text time_text;
public int col;
public int muka;
public int gris;
public Text nomber;
public Text nomber1;
public Color colorBatton;
всьо работает один раз а мне нужно чтоби при нажатии на кнопку Update работал
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07

Re: Робота с Временим

Сообщение Paul Siberdt 13 фев 2017, 18:42

Update работает всегда. По кнопке можно запустить какую-нить функцию или обновить какую-нить переменную.

Если у вас ваша логика работает всего один раз, значит таймер после нажатия на кнопку не получает своего значения > 0.
Откуда таймер узнает в первый раз, что он > 0?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Робота с Временим

Сообщение vovan1990 13 фев 2017, 18:46

а что делать?
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07

Re: Робота с Временим

Сообщение Paul Siberdt 13 фев 2017, 18:52

Я не знаю, что вы делаете, нажимая кнопку, но надо бы добавить туда еще возвращение значения таймера.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Робота с Временим

Сообщение vovan1990 13 фев 2017, 18:55

нажимая на кнопку я запускаю таймер, заполняю слайдер и передаю значение переменним int
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07

Re: Робота с Временим

Сообщение vovan1990 13 фев 2017, 18:56

а значение таймера есть публичним
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07

Re: Робота с Временим

Сообщение Paul Siberdt 13 фев 2017, 19:01

а значение таймера есть публичним

Что вы хотели этим сказать ?

Еще раз:
- У таймера есть исходное время? Есть!
- После нажатия на кнопку, таймер обнуляется? Да!
- После этого таймер возвращает свое исходное время? Нет!

Решение:
Возвращать исходное время таймеру. Когда? Не имею представления, это ваш код.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Робота с Временим

Сообщение vovan1990 13 фев 2017, 19:04

таймер необнуляется, а запускается и идет до 0
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07

Re: Робота с Временим

Сообщение vovan1990 13 фев 2017, 19:12

сделал так таймер работает повторяется но через метод не работает таймер при нажатии на кнопку
vovan1990
UNец
 
Сообщения: 9
Зарегистрирован: 13 фев 2017, 18:07


Вернуться в Общие вопросы

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

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


cron