Страница 1 из 1

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

СообщениеДобавлено: 13 фев 2017, 18:21
vovan1990
Всем привет столкнулся с такой проблемой, мне нужно чтоби по нажатии на кнопку начал действовать таймер и условия, сначала я сделал просто создал кнопку вибрал метод и ничего не получилось таймер показался и стал, тогда я понял что так не получится потому что кнопка исполняет все 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");

}
}
}
}

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

СообщениеДобавлено: 13 фев 2017, 18:26
Paul Siberdt
А кто такой Временим? Робота-то я могу представить, а второго - не совсем.


Читаем код:

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]

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

СообщениеДобавлено: 13 фев 2017, 18:37
vovan1990
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 работал

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

СообщениеДобавлено: 13 фев 2017, 18:42
Paul Siberdt
Update работает всегда. По кнопке можно запустить какую-нить функцию или обновить какую-нить переменную.

Если у вас ваша логика работает всего один раз, значит таймер после нажатия на кнопку не получает своего значения > 0.
Откуда таймер узнает в первый раз, что он > 0?

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

СообщениеДобавлено: 13 фев 2017, 18:46
vovan1990
а что делать?

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

СообщениеДобавлено: 13 фев 2017, 18:52
Paul Siberdt
Я не знаю, что вы делаете, нажимая кнопку, но надо бы добавить туда еще возвращение значения таймера.

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

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

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

СообщениеДобавлено: 13 фев 2017, 18:56
vovan1990
а значение таймера есть публичним

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

СообщениеДобавлено: 13 фев 2017, 19:01
Paul Siberdt
а значение таймера есть публичним

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

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

Решение:
Возвращать исходное время таймеру. Когда? Не имею представления, это ваш код.

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

СообщениеДобавлено: 13 фев 2017, 19:04
vovan1990
таймер необнуляется, а запускается и идет до 0

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

СообщениеДобавлено: 13 фев 2017, 19:12
vovan1990
сделал так таймер работает повторяется но через метод не работает таймер при нажатии на кнопку