[Статья] Создаем дополнительное оружие - 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]
Все остальное, что не попадает ни под одну категорию.

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

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

 Главная » Статьи » Конструкторы игр, системы разработки игр » 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 | Просмотров: 2369 | Добавил: Loko™ (20.11.2012) | Рейтинг: 5.0/2
Теги: вращающийся топор, Дополнительное оружие
HTML ссылка на материал:
BB ссылка на материал:
Похожие материалы :
Возможно вам будет интересно:
С чего начать создание игры для начинающих? (13)
Инветарь на Game Maker (0)
Game Maker. Начало (1)
Глобальные объекты в Дельфи. Их свойства и методы. (0)
Урок для начинающих по Game Maker v8 (платформенная игра) (1)
Borland Assembler (BASM) уроки для начинающих (уроки 1-4) (0)
Создание базового движка для игры. Часть 1. Графика и клавиатура (0)
Создаем искусственный интеллект (1)
Создаем танчики (0)
Поиск файлов на винчестере в Delphi (0)
Броня для игрока (1)
То, что нужно знать всем, кто движется в сфере геймдева. (1)
Пишем модуль для работы с системным таймером (0)
Несколько советов (ГМ) (0)
Звуки и музыка (0)
Всего комментариев: 2
2 Loko™   (20.11.2012 17:05)
ок

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

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

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

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


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

Ваш IP: 54.163.166.22

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

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

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

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

На сайте были:
Конструктор , ZiP , Filinshein , AxenusKa1971 , kreghek , FireOfSteel , devbond007 , coldfire001 , proto1ype , TJmiller , pilorama

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