ПОВЕДЕНИЕ TURRET

Приветствую вас, посетители! Этот урок я решил посвятить поведению turret. Рассмотрим мы это поведение на примере танка. Урок рассчитан для пользователей, только начавших изучение Construct. Итак, можно приступить. Для начала нам понадобятся спрайты скачать которые вы можете по ссылке: Sprites Turret.rar. После того как вы скачали необходимые спрайты, открываем Scirra Construct, и создаём новый Direct-X проект (ВАЖНО: при добавлении спрайтов, называйте их именами которые написаны в папках, это значительно упростит вашу работу).

Далее, создадим новый слой, и назовём его Background:

На этом слое создадим новый объект TrideBackground, загрузив в него спрайт из папки Background:

Далее, создадим новый слой с именем Player Tank (обратите внимание, что слой Background следует заблокировать, нажав на иконку замка, это нужно для фиксации Background). На этом слое разместим все спрайты из папки Player Tank.

Таким же образом создадим слой Enemy turret, и выгрузим на него спрайты из одноименной папки:

Создадим ещё один слой с именем Charges, и так же загрузим на него спрайты из папки Charges (обратите внимание, что этот слой следует поместить после слоёв Player Tank и Enemy Turret):

И наконец, создадим последний слой с именем Target и загрузим на него спрайты из папки Target:

Ну вот мы и завершили работу со слоями, теперь нам нужно задать параметры объектам. Переходим на слой Player Tank, и выбираем объект The base of the tank, добавляем ему поведение Car, и изменяем следующие параметры (для основы танка, точнее, для его езды можно применять или поведение Car или 8Direction, как говорится «Выбор за вами»). И во вкладке Attributes ставим галочку напротив Solid:

На этом же слое выбираем объект First Turret, добавляем ему поведение Turret и изменяем следующие параметры:

После этого переходим на слой Enemy Turret и выбираем объект Second Turret, так же даём ему поведение Turret, но задаём другие параметры:

Танки готовы к бою! Постойте, чего-то не хватает, ах да, мы же совсем забыли про снаряды! Переходим на слой Charges, выбираем объекты Charge Player Tank и Charge Enemy Turret, добавляем им поведение Bullet, и задаём обоим следующие параметры:

Далее, переходим на слой Target, открываем объект Target, и в меню Appearance ставим галочку напротив строки Invisible on start layout:

Ну всё, с параметрами мы закончили. Что же дальше? А дальше нам надо сместить центры наших турелей. Выбираем объект First Turret, заходим в редактор изображений, открываем Hotspot и устанавливаем желтые точки в следующие места на картинках:

Откуда же будут вылетать снаряды, спросите вы? Не выходя из редактора изображений щёлкаем на Image Points и устанавливаем мушки обоих Турелей таким образом:

Нам остаётся добавить на Layout объект MouseKeybord и можно писать события. На этом первая часть урока закончена.

Итак, друзья мы начинаем работу с событиями.

Переходим в Event Sheet Editor и создаём группу Rotate the turret. Далее SystemAlways

Добавляем действия к нашему событию: First TurretSet position another object – выбираем The base of the Tankimage point 0Finish

Добавляем ещё одно действие для Second TurretSet position another object, выбираем объект The base of the Enemy Turretimage point 0 - Finish

Ещё одно действие: TargetSet positionXmousex, YmouseyFinish.

Далее, создадим ещё одно событие: SystemStart of Layout

Создадим действие. Переходим во вкладку Turret, First TurretAcquire Target, выбираем объект TargetFinish

Создадим ещё действие. Переходим во вкладку Turret, Second TurretAcquire Target, выбираем объект The base of the player Tank - Finish.

Создадим ещё событие: The base of the player Tank – переходим во вкладку Turret, - Has TargetFinish

Создаём под-событие: MouseKeybordOn mouse click – выбираем Left arror.

Для этого под-события создаём ещё одно под-событие: SystemEvery Millisecond – ставим значение 1000 – Finish.

Для этого под-события создаём действие First TurretSpawn Object – выбираем Charge Player Tank, Image Point 1, Layer 2Finish.

В этой группе мы описали поворот башни танка. Сам поворот воспроизводится засчёт движения мыши, а к ней в свою очередь прикреплён поинт Target. Если Вы всё сделали верно, то у вас должно получится вот так:

Далее, создадим ещё одну группу и назовём её Enemy.

Создадим событие Second Turret – выбираем вкладку TurretHas turretFinish

Создаём для этого действия под-событие: SystemEvery millisecond – ставим значение 600 – Finish.

Создадим событие для Charge Player TankOn collisions another object – выбираем объект The Base of the Enemy TurretFinish.

Создаём действие к событию Charge Enemy TurretDestroy.

И создадим последнее событие для Charge Enemy TurretOn collisions another object – выбираем объект The Base of the player TankFinish

Создадим действие к этому событию: Charge Enemy TurretDestroy.

В этом событии мы описали ИИ вражеской турели, но в отличии от игрока, турель врага поворачивается относительно самого игрока. Если вы всё сделали верно, то у вас должно получится вот так:

Ну вот и всё, друзья! Наш урок подошёл к концу, от себя хочу пожелать успехов в освоении замечательной программы ScirraConstruct! Если у вас что-нибудь не получилось – не огорчайтесь, скачать исходник вы можете по ссылке: Lesson Turret.cap. До новых встреч!

Автор статьи - damir007
В данном исходнике использовались спрайты от Yani-X

Рейтинг@Mail.ru

Rambler's Top100