Можно ли создать динамическую комнату, передав переменные?

Я пытаюсь создать структуру, в которой я могу использовать несколько событий в одной комнате.

Например, игрок запускает событие, и событие строит комнату с переданными переменными.

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

  • Возможно ли это сделать?; ИЛИ ЖЕ
  • Должен ли я создавать отдельные комнаты для каждого уникального события, которое я хочу создать?

Игра в основном основана на меню (например, игра «Да здравствует королева»), если это помогает.


person Stwest    schedule 04.11.2016    source источник


Ответы (1)


Чтобы ответить просто, да можно.

Есть много случаев, когда мне удавалось разместить множество вещей в одной комнате в Game Maker. Вот несколько способов добиться этого «динамического» создания игры:

  • Файлы и сценарии. Вы можете использовать одну комнату для хранения переменного количества уровней, сохраняя стены, этажи, позиции игроков, события и т. д. внутри файла. Вы можете создать сценарий, который берет имя файла (ваша «переданная» переменная), а затем позволить ему просто создать для вас все экземпляры внутри уровня в этой комнате. У вас также может быть функция, которая очищает комнату, чтобы подготовиться к загрузке другого уровня. Однако побочным эффектом является то, что ваша уникальность ограничена тем, какая информация может храниться в этих файлах. Вы также можете сохранить параметры меню и текстовый диалог, если хотите.
  • «Уникальные» объекты. Game Maker — это IDE. Ничто не мешает вам создавать новые объекты в редакторе для уникального случая, а затем добавлять обработчик в другой объект, чтобы создавать его по требованию. Вы должны управлять переключением между ними, хотя.
  • Создайте объект "менеджер". Он может обрабатывать все события, происходящие в игре (и в этой комнате, если уж на то пошло). Кроме того, он может использоваться объектами для хранения неглобальных переменных перед их уничтожением. Например, если персонаж умирает, он может установить переменную в объекте-менеджере на «истину», что вызовет появление босса.

Однако с точки зрения динамического управления объектными событиями, если вы не используете что-то вроде Game Maker 8, это больше невозможно. Я говорю это потому, что до GameMaker:Studio объекты, спрайты и другие объекты можно было динамически создавать в игре с помощью таких функций, как «object_add()». Конечно, они устарели и больше не могут использоваться. Тем не менее, всегда есть обходные пути.

person Clara Nguyễn    schedule 08.11.2016