Как всегда
начинаем с dev_room. Скачать заготовку Теперь нам
нужен браш для белого заднего фона. Ну и конечно же текстура со шрифтом
(которую я так же прилагаю). Лепим одно на другое и получаем
Режем браш
со шрифтом на отдельные цифры и КАЖДУЮ ИЗ НИХ ОТДЕЛЬНО превращаем в func_movelinear.
Настраиваем согласно скрину:
Смысл в том
(я про эту дистанцию 16), что мы засунем эти цифры в стену, и чтобы при
открывании цифра вылазила со стены\браша и была видна. Сейчас
переименовываем все и делаем префаб! Префаб это когда в конце всех имен энтить
стоит приставка _&&i , при таком раскладе система будет сама переименовывать их. Имена: num_1_&&i num_2_&&i num_3_&&i ... num_9_&&i num_0_&&i Цифра
соответствует цифре на браше. Теперь
добавляем аутпуты. Кажду брашу свой: num_1_&&i OnUser1 -> num_0_&&i
-> Open OnUser2 -> num_2_&&i
-> Open num_2_&&i OnUser1 -> num_1_&&i
-> Open OnUser2 -> num_3_&&i
-> Open num_3_&&i OnUser1 -> num_2_&&i
-> Open OnUser2 -> num_4_&&i
-> Open num_4_&&i OnUser1 -> num_3_&&i
-> Open OnUser2 -> num_5_&&i
-> Open num_5_&&i OnUser1 -> num_4_&&i
-> Open OnUser2 -> num_6_&&i
-> Open num_6_&&i OnUser1 -> num_5_&&i
-> Open OnUser2 -> num_7_&&i
-> Open num_7_&&i OnUser1 -> num_6_&&i
-> Open OnUser2 -> num_8_&&i
-> Open num_8_&&i OnUser1 -> num_7_&&i
-> Open OnUser2 -> num_9_&&i
-> Open num_9_&&i OnUser1 -> num_8_&&i
-> Open OnUser2 -> num_0_&&i
-> Open OnUser2 -> trig_dec_next_digit_&&i -> Enable num_0_&&i OnUser1 -> num_9_&&i
-> Open OnUser2 -> num_1_&&i
-> Open OnUser2 -> trig_dec_prew_digit_&&i-> Enable Теперь выделяем
все и добавляем аутпут всем: OnUser1 -> !self -> Close OnUser2 -> !self -> Close OnFullyOpen -> add_relay_&&i
-> Enable OnFullyOpen -> substract_relay_&&i
-> Enable Некоторые
аутпуты ссылаются на пока не
существующий объект.. это нормально. Собираем все
цифры в одну точку. Это удобно делать при помощи спец инст-тав окне 3D вида жмем кнопку X и
складываем все в кучу. Чем больше размер сетки тем быстрее и удобнее складывать: Сложили в
кучу, после чего засовываем в стену на 16 юнитов:
Создадим
такой триггер trigger_multiple
При открытии
наши цифры должны коснутся его. Name: trig_next_digit_&&i Start Disabled: Yes Флаги: Everything Аутпут: OnStartTouch -> !activator -> FireUser2 OnStartTouch -> trig_next_digit_&&i
-> Disable OnStartTouch -> trig_prew_digit_&&i
-> Disable Копируем его
и ставим точно так, как предыдущий и переименовываем: Name: trig_prew_digit_&&i Аутпут: OnStartTouch -> !activator -> FireUser1 OnStartTouch -> trig_next_digit_&&i
-> Disable OnStartTouch -> trig_prew_digit_&&i
-> Disable Теперь добавим
два logic_relay. Первый: Name: substract_relay_&&i Аутпуты: OnTrigger -> trig_prew_digit_&&i
-> Enable OnTrigger ->
add_relay_&&i -> Disable OnTrigger -> substract_relay_&&i
-> Disable Второй: Name: add_relay_&&i Аутпуты: OnTrigger -> trig_next_digit_&&i->
Enable OnTrigger ->
add_relay_&&i -> Disable OnTrigger -> substract_relay_&&i
-> Disable Ставим logic_auto. Аутпут: OnMapSpawn -> num_0_&&i
-> Open В принципе
уже сейчас можно протестить поставив func_buttonи пустив
от него аутпут Trigger на триггер add_relay_&&i . Если пустить аутпут
на триггер и substract_relay_&&i то счетчик будет отнимать. Теперь
сделаем чтобы система могла считать больше 10-ти. Копируем 2
триггера наших немного левее (в то место где будет десятичные числа):
Переименовываем: trig_next_digit_&&iв trig_dec_next_digit_&&i trig_prew_digit_&&iв trig_dec_prew_digit_&&i В АУТПУТАХ этих
2-х триггеров ИМЕНА ИЗМЕНЯЕМ АНАЛОГИЧНО! Теперь вырезаем
всю логику что мы создали на новую карту и располагаем вот так по сетке
(размер сетки как и на предыдущей карте): Выделяем все
и жмем кнопку справа Createprefab.
Называем number_base и сохраняем. Теперь
удаляем от судова два левых триггера и два реле. Сдвинем левее logic_auto чтобы
не мешал в будущем. Выделяем все и сохраняем как number_dec : Закрываем эту
временную карту не сохраняя. Ставим на
нашу карту с помощью Entity
tool префаб number_base Ставим еще
один преваб number_dec как показано
на скрине: Как видите
все имена энтитей автоматически переименовываются на _&1 \ _&2
благодаря приставке _&&i. Вот как
выглядит система на 1000 значений:
Чтобы добавлять
к счетчику подаем аутпут Trigger на реле add_relay_&1. Чтобы отнимать- на substract_relay_&1.
В игре:
Чтобы
выделять объекты в группе, а не всю групу, жмем кнопку Objects: На этом все.
Исходник карты, префабы и текстура цифр прилагаются: Префаб Исходник карты Текстура Заготовка dev_room
|