Полусцены со статическими элементами, другие со спавном

У меня есть 2D игра, где половина сцены с порождением врагов и (например) другая половина сцены, где я хочу использовать статических врагов и другие элементы.

Я подумал создать скрипт, который через некоторое время (например, 10 секунд) остановит скрипты порождения и запустит движение других элементов.

Так. Может быть, есть разумное решение этой проблемы.

[ОБНОВИТЬ]

Мне нужно самое разумное решение такой проблемы, я не хочу этого делать, но как сделать это лучше.

1) Может создавать статические элементы, которые будут определенное время, просто стоять за камерой, а затем перемещаться... или программно создавать статические элементы, с течением времени, перед известными местоположениями... или загружать весь стек элементов через некоторое время.

2) Или можете полностью отказаться от этой идеи. Ярким примером является Subway Surf, где статические сцены (макет) создаются в случайном порядке.

Ps надеюсь объяснил мою проблему

2 ответа

Решение

Просто научитесь пользоваться "Invoke", это предельно просто.

Invoke( "YourOtherRoutine", 10f );

Так что через десять секунд он запустит другую процедуру. Эта подпрограмма может легко остановить выполнение одного сценария, запустить другой сценарий или все, что вы хотите сделать. На обычных форумах Unity и т. Д. Есть десятки тысяч примеров Invoke() и InvokeRepeating().

Исходя из вашей ссылки на Subway Surf, я предполагаю, что вы хотите генерировать статические элементы, такие как траектория и статические поезда в метро, ​​и нестатические элементы, такие как некоторые движущиеся поезда. Если так, то у меня есть возможное решение.

  1. Вы можете создавать предопределенные наборы элементов (скажем, 20 или 30 наборов с различной комбинацией элементов), а затем порождать их случайным образом один за другим. Например, посмотрите на два опорных изображения ниже.

Теперь обратите внимание, что вы можете видеть эти сцены точно так же, как на изображениях, несколько раз во время игры, это потому, что они предварительно созданы. Разработчики Subway surf создали эти пути и сохранили их как префабы, а затем породили их на разных локации во время игры.

  1. Вы могли заметить, что иногда путь один и тот же, но положение поездов другое. Это может быть достигнуто путем дальнейшего создания точек появления на вашем пути, а затем случайным образом выбирайте точки, в которых вы хотите создавать статические элементы.

  2. Во многих случаях, когда есть несколько ворот, через которые вы можете пройти (я имею в виду ворота на втором изображении). движущиеся поезда появляются на пути ворот, которые вы пересекаете. Как указано на втором шаге, можно вызвать движущийся поезд с прикрепленным к нему сценарием движения. Что касается вопроса о том, как узнать, по какому пути порождать, есть два возможных пути (которые я могу придумать, правильно знать).

    • Вы можете отслеживать текущую линию ваших игроков, а затем вызывать поезд на этой линии.
    • Вы можете разместить отдельные триггеры на каждой линии, а затем определить, какой триггер линии был активирован, и затем вызвать поезд на этой линии.
  3. Для других движущихся поездов просто используйте метод в шаге 2, чтобы вызвать их, но с приложенным сценарием движения.

Другие вопросы по тегам