Данный урок рассчитан на опытных пользователей программы Construct. Прочитав его, вы научитесь работать с объектом Canvas и создавать с помощью него разрушаемый ландшафт, который потом без труда сможете использовать в своих играх. Также урок будет очень полезен тем, кто давно хотел создать игру, похожую на Worms.
Итак, приступим:
Как всегда создаём новую DirectX игру, добавляем управление клавиатурой и мышью и приступаем к созданию самого ландшафта.
Добавляем объект Canvas и в его редакторе изображения рисуем какой-нибудь ландшафт, например, этот:
Добавляем к объекту Canvas атрибут Solid.
После этого создаём спрайт, который будет маской взрыва. То есть, грубо говоря, это и будет форма, которая будет уничтожаться на ландшафте. Я использовал обыкновенный круг (создайте новый спрайт — круг). Для этого круга мы добавляем эффект Erase и поведение Mouse и выставляем галочку на пункте Invisible on start.
После этого переходим в редактор событий и создаем вот такие события и действия:
Это означает, что при нажатии левой кнопки мыши Canvas будет добавлять в себя спрайт, на котором стоит эффект Erase (Стирание), то есть вычитать из себя его, после чего Canvas "обновляется" и остаётся вырезанный кусок на ландшафте.
Теперь, после того, как мы разъяснили, как вообще уничтожается ландшафт, можно сделать, чтобы он уничтожался от какого-нибудь предмета, например, бомбы. Для этого создадим спрайт нашей бомбы, например, такой:
Добавляем бомбе поведение Physics и ставим галочку в свойствах в пункте Gravity (Гравитация).
В редакторе событий добавляем, что при нажатии правой кнопки мыши создаётся объект бомба с координатами mouseX и mouseY. У вас должно получиться вот такое событие:
А теперь создадим следующие событие — при соприкосновении бомбы и ландшафта, бомба будет создавать спрайт вычитания ландшафта. Также не забудьте создать действие, чтобы при соприкосновении бомбы с ландшафтом, бомба уничтожалась, а иначе бомба будет падать, уничтожая ландшафт до самого низа. Также нужно добавить несколько действий для объекта Canvas, а именно Update collision mask и Paste Sprite into canvas.
Для более эффектного взрыва добавьте Particles (Частицы) и в этом же событии создайте для них соответствующее действие, чтобы частицы появлялись на месте уничтожившейся бомбы. У вас должно получиться вот такое событие:
Вы можете скачать исходник разрушаемого ландшафта для сравнения получившегося результата или пример разрушаемого ландшафта, чтобы увидеть, как это работает.
Вау вау вау круто типо Worms мне нравится 😀
Спасибо за статью, очень помогли =)