Создать игру, создание игр, конструктора игр, игровые движки, разработка игр, сделать игру
Приветствую Вас Гость · Вход · Регистрация  ·  Новые сообщения · Участники · Правила · Поиск · RSS
  • Страница 1 из 1
  • 1
[Статья] Учим героя карабкаться по канату
Loko™ Дата: Вторник, 13.11.2012, 12:56 | Сообщение # 1
Просмотр профиля: Loko™

Сообщений: [146]
Hi to all, с вами Loko™ и очередной урок по Construct Classic, в котором я расскажу вам, как же заставить созданного вами Буратино лазить по канату.
Все, как обычно, завариваем чай, усаживаемся поудобнее и начинаем читать.

Первым делом, нам понадобиться сам герой с поведением "Platform". Если вы не знаете, как создать героя и/или настроить ему нужное поведение, читаем статью "Создание 2D платформера а-ля Ghost Quest" "Создание 2D платформера а-ля Ghost Quest".
Добавим герою новую переменную:
Выделяем спрайт героя – Properties – Private Variables – Add/Edit – Зеленый плюс – в поле Name пишем Rope – OK – Done
Еще герою понадобиться анимация "Hand" – анимация, когда он держится за канат (ее можно нарисовать позже).

Рисуем, собственно, канат:
Insert an object – Sprite – поставьте размер, примерно 10х250 пикселей, нарисуйте подобие веревки, либо просто залейте все заливкой – сохраните
Сразу же переименуйте только что созданный спрайт в Rope.

Добавляем клавиатуру и мышь:
Insert an object – Mouse & Keyboard

Переходим в редактор событий (Event Sheet Editor)
Первое событие формулируется так: если герой находится рядом с канатом и зажата клавиша вверх, то он цепляется за канат.

События:
1. Insert event – MouseKeyboard –Key is down? – Up arrow
2. Insert new condition – bazis (это мой герой, выберите своего) – Is overlapping another object – Pick an object – Rope - Finish

Действие:
New action – bazis – Set value – в Private variable выбираем Rope, в Value пишем 1 – Finish



В данном действии мы прибавили значение переменной для героя, что означает: если 1 – то герой на канате, если 0 – герой не на канате.

Следующее событие состоит из того, что если герой находится на канате (т.е. переменная равна 1), то он цепляется за канат (убирается гравитация и т.п.) и устанавливается соответствующая анимация.

Событие:
Insert event – bazis – Compare a private variable – Rope, Equal to, Value = 1 – Finish

Действия:
1. New action – bazis – переходим во вкладку Platform – Set air acceleration – 0 – Finish
2. New action – bazis – переходим во вкладку Platform – Set gravity – 0 – Finish
3. New action – bazis – переходим во вкладку Platform – Set Y component of motion – 0 - Finish
4. New action – bazis – переходим во вкладку Platform – Set X component of motion – 0 – Finish
5. New action – bazis – Set animation – "Hand" (пишем с кавычками) – Finish



В первом действии мы убрали ускорение падения.
Во втором действии мы избавились от гравитации.
В третьем и четвертом действиях мы убрали движение по Y и X. Если этого не сделать, то герой продолжит свое движение в том направлении, в котором двигался.

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

Подсобытие 1:
Щелкаем правой кнопкой мыши по последнему созданному событию (событию 2) – Insert sub-event – MouseKeyboard – Key is down? – Up arrow
Действие для подсобытия 1:
New action – bazis – переходим во вкладку Platform – Set Y component of motion – прописываем значение -200 (минус 200) – Finish
Как вы уже поняли, мы только что сделали движение по канату вверх, по нажатию клавиши вверх.

Подсобытие 2:
Щелкаем правой кнопкой мыши по событию 2 – Insert sub-event – MouseKeyboard – Key is down? – Down arrow
Действие для подсобытия 2:
New action – bazis – переходим во вкладку Platform – Set Y component of motion – прописываем значение 200 – Finish
А это было движение вниз, по нажатию клавиши вниз.

Подсобытие 3:
Щелкаем правой кнопкой мыши по последнему созданному событию – Insert sub-event – MouseKeyboard – Key is down? – Left arrow
Действие для подсобытия 3:
New action – bazis – переходим во вкладку Platform – Set X component of motion – прописываем значение -100 (минус 100) – Finish
Движение влево, по нажатию клавиши налево.

Подсобытие 4:
Щелкаем правой кнопкой мыши по последнему созданному событию – Insert sub-event – MouseKeyboard – Key is down? – Right arrow
Действие для подсобытия 4:
New action – bazis – переходим во вкладку Platform – Set X component of motion – прописываем значение 100 – Finish
Ну и движение вправо, по нажатию клавиши направо.



Итак, все что нам осталось реализовать – возвращение стандартных настроек при спуске с каната. Делаем:

События:
1. Insert event – bazis – Compare a private variable – Rope, Equal to, Value = 1 – Finish
2. New event – bazis – Is overlapping another object – Pick an object – Rope – Finish
Сделаем второе событие противоположным:
Щелкаем правой кнопкой мыши по только что созданному второму событию – Invert condition

Действия:
1. New action – bazis – переходим во вкладку Platform – Set air acceleration – 1500 – Finish
2. New action – bazis – переходим во вкладку Platform – Set gravity – 1500 – Finish
3. New action – bazis – Set value – Rope, ставим значение 0 – Finish



Первым действием мы вернули стандартное ускорение падения.
Вторым действием мы вернули стандартную гравитацию.
Третьим действием мы обнулили переменную, которая теперь означает, что герой не на канате.

Все готово!
Надеюсь, вам понравился мой урок. С вами был Loko™, пока!


Сообщение отредактировал: Loko™ - Вторник, 13.11.2012, 14:41
ZiP Дата: Вторник, 13.11.2012, 14:23 | Сообщение # 2
( περιμετρ )
Просмотр профиля: ZiP

Сообщений: [887]
Хороший урок.
P.S. Изображения не видны, хостинг требует получить доступ.
Loko™ Дата: Вторник, 13.11.2012, 14:41 | Сообщение # 3
Просмотр профиля: Loko™

Сообщений: [146]
АБВ[ZiP], перезалил на радикал. Все норм?
ZiP Дата: Вторник, 13.11.2012, 14:46 | Сообщение # 4
( περιμετρ )
Просмотр профиля: ZiP

Сообщений: [887]
Loko™, да, теперь всё нормально. smile

☼Настройка профиля|↕Написать жалобу на пользователя|▲Правила сайта|░мои темы
BSC Hard|Death Jeep|WSC B&W|Моб.платформер|BSC Hard 2|Последняя Миссия|Christmas Story
░▒▓ Z7NV ▓▒░
  • Страница 1 из 1
  • 1
Поиск:

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