[Статья] Создаем дополнительное оружие - Scirra Construct - Конструкторы игр, системы разработки игр
Навигация по сайту
Сайт:

Дополнительно:

Файловый архив:

Каталог статей:

Форум:


Категории раздела
Game Maker [27]
Flash [3]
FPS Creator X9, X10 [1]
Scirra Construct [14]
Multimedia Fusion [0]
001 Game Maker, Map 001 [0]
3D RAD [16]
3D Game Studio [1]
Silent Walk FPS Creator [0]
Blender (Блендер) [1]
Game Editor [0]
Остальное [1]
Все остальное, что не попадает ни под одну категорию.

Мини-Опрос
Чему вы отдаете большее предпочтение?
Всего ответов: 425

Партнеры сайта
....

 Главная » Статьи » Конструкторы игр, системы разработки игр » Scirra Construct » [Статья] Создаем дополнительное оружие

[Статья] Создаем дополнительное оружие

13:28

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

Что мы будем делать:
Герой, который изначально не имеет никакого дополнительного оружия, может подбирать топоры и кинжалы, которые можно метать: кинжалы летят прямо, а топоры – подбрасываются вверх и, под силой тяжести, падают, летя по дуге.
Также мы дадим ограничение на количество бросков, которое можно увеличить, подбирая еще топоры или кинжалы. И еще сделаем так, что иметь можно что-то одно: либо топоры, либо кинжалы.

Приступим
Создаем героя с поведением "Platform". Назначьте ему основные команды, такие как "поворот налево", "поворот направо". Если вы не знаете, как это делается, прочитайте статью "Создание 2D платформера а-ля Ghost Quest".

Добавим поддержку клавиатуры и мыши:
Insert an object – Moues & Keyboard

Создадим спрайт кинжала:
Insert an object – Sprite – рисуем кинжал – сохраняем
Переименуйте только что созданный спрайт в temKnife. Это будут "патроны" для кинжала. Расставьте их по уровню в нужных местах.

Склонируем спрайт кинжала:
Выделяем itemKnife – правая кнопка мыши – Copy – щелкаем правой кнопкой мыши на пустом месте на уровне – Paste Clone
Переименуйте только что склонированный спрайт в Knife. Это будет кинжал, который герой сможет кидать по прямой.

Дадим ему поведение пули:
Выделяем спрайт Knife – Properties – Behaviors – Add – Bullet – Insert
Чтобы увеличить скорость броска, измените значение в поле Speed на 500.

Перед тем, как реализовывать непосредственно бросок кинжала, зададим отображения текущего числа "патронов".

Добавим новый объект:
Insert an object – Text

Переименуйте только что созданный спрайт в weapon.
Настройки размера шрифта, его цвета, жирности и курсива настраиваются в окне Properties – Properties.

Дадим тексту две новые переменные:
Выделяем спрайт weapon – Private variables – Add/Edit – зеленый плюс – в поле Name пишем numWeapon – OK – зеленый плюс – в поле Name пишем arsenal – OK – Done

Переходим в редактор событии (Event Sheet Editor)
Сперва зададим объекту "текст" отображение текущего числа "патронов":

Событие:
Insert event – System – Always

Действие:
New action – weapon – Set text – в поле Text пишем weapon.Value("numWeapon") – Finish





В событии мы поставили условие "всегда" (чтобы текст всегда отображал нужное значение).
В действии мы сказали тексту, что нужно показывать. Если рассмотреть строчку:
weapon.Value("numWeapon")
то weapon – это объект, значение которого нужно отображать (т.к. нужное значение у нас находится в объекте weapon в виде переменной); numWeapon – это имя переменной в кавычках, содержание которой должно быть отображено.

Сделаем взятие кинжала и пополнение числа "патронов":

Событие:
Insert event – bazis – On collision with another object – Pick an object – itemKnife – Finish

Действия:
1. New action – itemKnife – Destroy
2. New action – weapon – Set value – Arsenal, Value = 2 – Finish
3. New action – weapon – Add to value – numWeapon, Value = 10 – Finish



Событие: при соприкосновении героя с кинжалом.
Действие 1: кинжал уничтожается.
Действие 2: переменная arsenal меняет значение на 2 (1 – это будут топоры, 2 – кинжалы).
Действие 3: добавляется 10 единиц кинжалов.

Реализуем бросок кинжала:

События:
1. Insert event – MouseKeyboard – On key pressed – C (это клавиша, на которую будет бросок кинжала) – Finish
2. Insert event – weapon – Compare private variable – arsenal, Equal to, Value = 2 – Finish
3. Insert event – weapon – Compare private variable – numWeapon, Greater than, Value = 0 – Finish

Действия:
1. New action – bazis (это герой, выберите своего) – Spawn another object – Pick an object – Kinfe – не забывайте поставить нужный слой в поле Layer – Finish
2. New action – weapon – Subtract from value – numWeapon, Value = 1 – Finish



В событии №1 мы установили клавишу броска.
Во втором событии сделали проверку на то, какое у нас сейчас есть оружие (1 – топоры, 2 – кинжалы).
В третьем событии мы проверили наличие "патронов".
В действии №1 мы сделали бросок кинжала.
В действии №2 мы вычли единицу из общего количества "патронов".

Можно запустить уровень и проверить на работоспособность. Сперва при нажатии на клавишу C ничего не происходит, подбираем itemKnife, текст изменяется с 0 до 10, по нажатию на клавишу C – герой бросает кинжалы.

Теперь разберемся с топорами.
Для начала их нужно нарисовать. Переходим в редактор уровней (Layout Editor).
Insert an object – Sprite – рисуем топор – сохраняем
Переименуйте только что нарисованный спрайт в itemAxe. Это "патроны" для топора, расставьте их по уровню в нужных местах.

Сделайте клон спрайта:
Выделяем itemKnife – Copy – на пустом месте правой кнопкой мыши – Paste Clone
Переименуйте только что склонированный спрайт в Axe. А вот это уже наш боевой топор.

Добавим объекту Axe поведение Ball:
Выделяем Axe – Properties – Behaviors – Add – Ball – Insert
Измените следующие поля:
Speed – 666
Max Speed – 777
Acceleration – 45
Gravity – 1444
Снимите галочки сBounce friction, Rotate Object и Bounce off Solid



Добавим объекту Axe еще одно поведение под названием Rotate (Вращение):
Выделяем Axe – Properties – Behaviors – Add – Rotate – Insert
Слегка подкорректируем значение Speed на 555.



Переходим в редактор событий (Event Sheet Editor)
Первым делом сделаем подбор топора:

Событие:
Insert event – bazis – On collision with another object – Pick an object – itemAxe - Finish

Действия:
1. New action – itemAxe – Destroy
2. New action – weapon – Set value – Arsenal, Value = 1 – Finish
3. New action – weapon – Add to value – numWeapon, Value = 10 – Finish



Событие: при соприкосновении героя с топором.
Действие 1: топор уничтожается.
Действие 2: переменная arsenal меняет значение на 1 (1 – топоры, 2 – кинжалы).
Действие 3: добавляется 10 топоров.

Бросок топора будет разбит на два события. Первое – для броска влево, второе – для броска вправо.
Делаем:

События:
1. Insert event – MouseKeyboard – On key pressed – C (это клавиша броска топора) – Finish
2. Insert event – bazis – Compare angle – Equal to, Angel = 0 – Finish
3. Insert event – weapon – Compare private variable – arsenal, Equal to, Value = 1 – Finish
4. Insert event – weapon – Compare private variable – numWeapon, Greater than, Value = 0 – Finish

Действия:
1. New action – bazis – Spawn another object – Pick an object – Axe – не забываем указать нужный слой в поле Layer – Finish
2. New action – Axe – переходим во вкладку Ball – Set angle of motion – указываем значение 285 – Finish
3. New action – weapon – Subtract from value – numWeapon, Value = 1 – Finish



Событие 1 – указываем клавишу броска
Событие 2 – получаем угол героя (в какую сторону он смотрит, 0 – это направо)
Событие 3 – проверяем, какое оружие сейчас имеет герой (1 – топоры, 2 – кинжалы)
Событие 4 – проверяем наличие "патронов"
Действие 1 – бросаем топор
Действие 2 – устанавливаем угол броска топора (285 – вверх и вправо)
Действие 3 – вычитаем одну единицу из "патронов".

Бросок вправо настроен, теперь сделаем почти тоже самое, но для левой стороны:

События:
1. Insert event – MouseKeyboard – On key pressed – C (это клавиша броска топора) – Finish
2. Insert event – bazis – Compare angle – Equal to, Angel = 180 – Finish
3. Insert event – weapon – Compare private variable – arsenal, Equal to, Value = 1 – Finish
4. Insert event – weapon – Compare private variable – numWeapon, Greater than, Value = 0 – Finish

Действия:
1. New action – bazis – Spawn another object – Pick an object – Axe – не забываем указать нужный слой в поле Layer – Finish
2. New action – Axe – переходим во вкладку Ball – Set angle of motion – указываем значение 255 – Finish
3. New action – weapon – Subtract from value – numWeapon, Value = 1 – Finish




Событие 1 – указываем клавишу броска
Событие 2 – получаем угол героя (в какую сторону он смотрит, 180 – это налево)
Событие 3 – проверяем, какое оружие сейчас имеет герой (1 – топоры, 2 – кинжалы)
Событие 4 – проверяем наличие "патронов"
Действие 1 – бросаем топор
Действие 2 – устанавливаем угол броска топора (255 – вверх и влево)
Действие 3 – вычитаем одну единицу из "патронов".

Вот и все готово. Проверяем.
Жду ваших комментариев. С вами был Loko™, пока!

Категория: Scirra Construct | Просмотров: 2522 | Добавил: Loko™ (20.11.2012) | Рейтинг: 5.0/2
Теги: вращающийся топор, Дополнительное оружие
HTML ссылка на материал:
BB ссылка на материал:
Похожие материалы :
Возможно вам будет интересно:
Уроки по fps creator'y от scorpion24 (sfsa) (0)
Несколько советов (ГМ) (0)
Знакомство с Движком! (0)
Инветарь на Game Maker (0)
Что с чем едят - 3d Rad (0)
Создаем платформер. Scirra Construct (4)
С чего начать создание игры для начинающих? (13)
Устанавливаем на машину скин 3dRad (0)
Функция LIST (0)
Создание многопользовательской(online) игры на Game Maker. (часть 2) (0)
Создание заставки (Intro) (0)
Поиск файлов на винчестере в Delphi (0)
Создание Платформенной Игры Copyright 2001 by Mark Overmars (0)
Золотые Правила Игродела (0)
Создаем анимацию игрока (0)
Всего комментариев: 2
2 Loko™   (20.11.2012 17:05)
ок

1 ZiP   (20.11.2012 15:16)
Исправил статью, заменил bb код на html.
P.S. В следующий раз пиши статьи через Word, там же оформляй, а потом всё выделяй и копируй в форму добавления.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Мы в социальных сетях

Поиск
Поиск по всему сайту:
Поиск по разделу:

Панель пользователя
Здравствуйте, Гость


Ник:
Пароль:
Запомнить :

Ваш IP: 50.16.116.99

Случайные конструкторы

Случайные движки

Случайные статьи

Статистика
Онлайн всего: 3
Гостей: 3
Пользователей: 0

На сайте были:
qwez , Axel911delta

При полном или частичном копировании материалов сайта ссылка на Make-Games.ru обязательна. Make-Games.ru © 2008 - 2017 Хостинг от uWeb
Топ Разработка игр Рейтинг@Mail.ru