Это второй урок по поведениям в Construct Classic. Тут мы разберём поведения Ball и RTS, а также начнём создавать арканоид. Если вы не читали первый урок, он тут. Надо обязательно сделать домашнее задание.
Итак, поехали! Можно удалить у героя поведение Wrap. Кстати, вот спрайт для ГГ:
Теперь давайте добавим блоки. Добавляем объект, но в этот раз не спрайт. Выбираем Tiled Background. Вот картинка блока:
Теперь попробуйте растянуть наш блок, вы сразу поймёте, что такое Tiled Background. Давайте расставим блоки вот так: Теперь добавим блоку атрибут “Solid” (Твёрдый). Смотрим на фото:
Запускаем игру и видим, что ГГ не может пройти через блоки. Теперь добавим спрайт мячика – рисуем просто круг. Добавляем мячу поведение Ball (мяч). Это поведение позволяет превратить объект в реалистичный мяч, как с видом сбоку, так и с видом сверху. Рассмотрим свойства:
Speed – скорость. Max speed – максимальная скорость. Min speed – минимальная скорость. Acceleration – ускорение. Randomness – степень случайности при отскоке. Bounce friction – трение при отскоке. Rotate object – поворачивать объект в зависимости от его направления движения. Gravity – гравитация Bounce off Solids – отскакивать от объектов с атрибутом Solid.
Изначально свойство Bounce off Solids включено. Если оно у вас выключено, надо его включить. Теперь давайте сделаем так, чтобы наш мяч летел в направлении нас, но угол определял компьютер. Но сначала разберём условия и действия поведения мяча.
Переходим в события, создаём событие, выбираем мяч и идём во вкладку Ball. Мы видим только одно событие – Compare speed (сравнить скорость). Это событие нам не нужно, поэтому нажимаем Back, выбираем System и ищем условие Start of layout. Теперь добавляем действие. Также выбираем мяч и идём во вкладку Ball. Мы видим: Давайте разберём действия:
1. Bounce off object – отскочить от объекта. 2. Set activated – Включить/выключить поведение. 3. Set angle of motion – задать угол движения. 4. Set gravity – задать гравитацию. 5. Set speed – задать скорость. Выбираем третье действие, а в поле Angle пишем random(90)+45. Запускаем игру и видим, что наш мячик к нам летит, но не отскакивает от доски. Делаем доску твёрдой, теперь всё нормально.
Теперь создаём спрайт, в окне с рисунком ищем красный прицел слева, нажимаем на него, а затем в центр изображения, потом называем спрайт En и даём спрайту поведение RTS. Видим свойства:
Max speed – максимальная скорость, ставим 200. Blocked speed – максимальная скорость при повороте. Acceleration и Deceleration, соответственно, ускорение и замедление, везде ставим 10000. Rotate speed – скорость поворота. Rotate object – вращение объекта. Pathfinding – нахождение пути: None – объект не будет ничего объезжать. Around solid – объект будет объезжать твёрдые объекты. Custom – мы сами настраиваем препятствия. Cell size – размер ячейки. Поле делится на ячейки, которые заняты, если внутри них есть препятствия, а, если нет, свободны. Объект ищет путь по свободным, обходя занятые.
Перейдём к условиям: Is moving – если движется. On arrived at target – если достиг цели. On arrived at waypoint – если достиг пункта. Есть специальные пункты, с помощью которых можно задать путь врагу. Например, если есть три объекта и мы добавляем на них пункты, то наш объект проедется по всем трём колоннам. On failed to find path – если не смог проложить путь.
Переходим в действия, которых немного больше. Add waypoint at object/mouse/position – добавить пункт на объект/мышь/позицию. Move to mouse/object/position – двигаться к мыши/объекту/позиции. Stop – остановиться. Set acceleration/deceleration – задать ускорение/замедление. Set speed/max speed – задать скорость/максимальную скорость.
Потом создаём объект с рисунком нашего врага, называем его EnMask, делаем его твёрдым, затем делаем настоящего врага невидимым. А теперь прописываем в событиях всё, как на скрине:
Запускаем игру и наслаждаемся игрой в арканоид с врагом.
В этом уроке мы разобрали поведения Ball и RTS, а так же начали создавать арканоид. Продолжение следует.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Поведения в Construct Classic часть 2», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
Зря все пытаются использовать слово урок. У вас что, в школе такие уроки были? Урок - это когда все разбирают по полочкам, когда становится понятно, зачем делать так, а не иначе. А текст, в котором перечисляются действия, необходимые для достижения конечного результата, называется инструкцией. И, прошу прощения, где здесь старания? 80% текста можно было скопировать из статей с тематического сайта (если это и не было сделано)
Эти идиотские статьи про то, как нужно пользоваться конструктором, всех достали. Тыкать кнопки каждый умеет, а конструкт генерирует жирный индусский код.
Ну писать код в Construct тоже приходится. Многочисленные формулы движения и деформирования спрайтов, плюс скрипты Python... Конструктор лишь ускоряет работу, позволяя пропускать муторные часы за написанием тысяч строчек кода. Он создан для более творческих людей, на мой взгляд. Людей, акцентирующих свое внимание на всем, кроме программирования в чистом виде... Да, урок может не из лучших, и тема заезжена, но человек, пусть даже немного, но старался. А намекнуть что писать такие уроки ни к чему можно и в более мягкой, что ли, форме... ИМХО