Пожалуйста, подскажите примерную схему решения моего вопроса (ссылки на документацию Unity, на похожие скрипты, либо, отрывки конечного кода).
А задача следующая: подсчитать количество объектов (Cube) на сцене, и, если их количество превышает 25 - запустить таймер с обратным отсчетом (30 секунд), с выводом на GUI, и по истечении отведенного времени - производить некое действие.
Видел где-то давно, еще год назад, как делали меню-паузу остановкой времени. Сейчас хоть убей - ни вспомнить, где видел, ни сформулировать запрос в гугл не могу. А нужно это было для следующего: пока создаются Кубы - скорость времени равна нулю, а как заканчивается таймер - ее значение приравнивается единице.
Остановку времени (паузу), лучше свою писать, у меня после стандартной Time = 0 (вкл\выкл) экран цветными пятнами поплыл... Больше экспериментировать не стал. X.cor.R (Prologue)
Только зачем? Проще изменять переменную во время создания/удаления кубиков.
Не, ребят. У меня кубики создаются в онлайне. Кто-то может подключиться позже, чем создана будет половина кубиков, и у него пойдет неверный отсчет. И поэтому надо при подключении уже считывать количество.
Quote
у тебя такими методами одни лаги будут
Операция будет единоразовая за игру, так что о лагах можно сильно не думать.
Quote
Остановку времени (паузу), лучше свою писать, у меня после стандартной Time = 0 (вкл\выкл) экран цветными пятнами поплыл... Больше экспериментировать не стал.
Хорошо, попробую свою сделать, спасибо за предупреждение.
Попробую написать будущий скриптик текстом:
Code
Останавливаем время.
Считаем количество объектов ('Cube'), присваиваем это значение переменной = var X. IF X > 25 THEN Старт таймера (сейчас ищу, как сделать). Присвоить значение таймера переменной = var Y.
IF Y < 1 THEN Возвращаем время.
Правильно?
Сообщение отредактировал test_user - Ср, 12 Сен 2012, 05:29
Не, ребят. У меня кубики создаются в онлайне. smile Кто-то может подключиться позже, чем создана будет половина кубиков, и у него пойдет неверный отсчет. И поэтому надо при подключении уже считывать количество.
//_* они, что, от сырости заводятся, ведь загрузить Вы их, откуда-то смогли?
Сообщение отредактировал waruiyume - Ср, 12 Сен 2012, 09:41
//_* они, что, от сырости заводятся, ведь загрузить Вы их, откуда-то смогли?
Оу, даже не могу придумать другой способ... На ум приходит только подсчет кубиков при каждом OnNetwork.Initiate... Хотя даже не знаю, будет ли при этом работать. Скорее, даже каждый кадр придется проверять...
Quote (Левша)
Я бы завел себе булю:
Идея хорошая, но, кажется, это лишнее увеличение кода...
Открою карты Нужно всего лишь при подключении игроков - делать ожидание, и, как только подключится больше 25 человек - пустить обратный отсчет (чтобы все сообразили, что делать), и после - стартовать пробежку.
Добавлено (12.09.2012, 11:25) --------------------------------------------- Можно проверять каждые 5 секунд.
Добавлено (12.09.2012, 11:27) --------------------------------------------- О, а вот и очень подходящий таймер.
Добавлено (12.09.2012, 11:30) --------------------------------------------- В нем сразу и действие А вот подсчет игроков остался.
Да, действительно, он получает информацию об уже подключившихся игроках. Если исходить из этого - как, примерно, будет выглядеть скрипт? Хоть словами помогите, пожалуйста.