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

Сообщений: [146]
Всем привет. С вами Loko™ с очередным уроком по Scirra Construct Classic.
Вот так будет выглядеть наш блинк:



Т.е. по нажатию на кнопку C на месте героя образуется красивенький эффект, сам герой исчезнет и появится в другой точке, где также возникнет определенный эффект.
В этой статье я использовал метод создания перемещения с двумя большими НО:
1)     Герой не перемещается сквозь твердые объекты.Это сделано для того, чтобы игрок не мог залазить в те места, где, по мнению разработчика, ему быть не нужно.
2)     Герой не перемещается мгновенно, а двигается к нужной точке невидимый. Это сделано с той целью, чтобы камера резко не скакала из одной точки в другую.
Если вас интересует именно телепортация сквозь твердые объекты, читайте в конце статьи дополнительный пункт.

Перед тем, как мы приступим, у вас должен быть герой с поведениями Platform и Bullet (параметр Speed в Bullet должен стоять на нуле), а также должны быть добавлены объекты Mouse & Keyboard и Wait.

Переходим в редактор событий.
Создадим событие:
1.       Insert event – MouseKeyboard – On keypressed – C – Finish
2.       System – Every X Milliseconds – 500 -Finish

Создадим действия:
1.       bazis (это наш герой, у которого назначено поведение “Platform”) – переходим во вкладку Platform – Set ignoring input – Start ignoring – Finish
2.       bazis – переходим во вкладку Bullet – Set speed – 750 – Finish
3.       bazis – Set visible – Invisible –Finish
4.       bazis – переходим во вкладку Platform – Set Y component of motion – 0 – Finish
5.       bazis – переходим во вкладку Platform – Set gravity – 0 – Finish
6.       Wait – Delay (ms) – 250 – Finish
7.       bazis – переходим во вкладку Platform – Set gravity – 2000 – Finish
8.       bazis – Set visible – Visible –Finish
9.       bazis – переходим во вкладку Bullet – Set speed – 0 – Finish
10.   bazis – переходим во вкладку Platform – Set ignoring input – Stop ignoring – Finish



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

Далее по действиям:
1.      Здесь мы убрали возможность управлять героем,когда он телепортируется
2.      Установили скорость передвижения героя во времяблинка. Чем больше значение, тем на большее расстояние герой переместиться
3.      Установили невидимость герою. Если убрать этотпараметр, то вместо телепортации у нас получится рывок
4.      Этим действием мы сбросили вертикальнуюскорость. Допустим, если наш персонаж падал, то при включении блинка скорость
падения приравнивается нулю
5.      Все бы хорошо, но пункт 4 сбрасываетвертикальную скорость лишь на один момент, и во время действия способности
герой все равно будет набирать скорость падения. И именно на этот случай мы и
убираем гравитацию вообще
6.      Делаем задержку между появлением в 250миллисекунд. Чем больше это значение, тем дольше персонаж будет находиться в
телепортации, и, соответственно, преодолеет большую дистанцию
7.      Возвращаем гравитацию к исходному значению. Уменя это 2000, у вас, возможно, свое значение
8.      Возвращаем видимость герою
9.      Убираем скорость передвижения, которая была вовремя блинка
10.  Возвращаем игроку управление персонажем

С технической частью покончено, настало время навести красоту.
Переходим в редактор уровней и добавляем новый объект:
Insert an object – Particles

Частицы – очень интересный объект. Чтобы его полностью разобрать, нужно потратить немало времени. А сейчас мы просто настроим основные пункты, чтобы получить красивенький эффект.

Щелкаем на только что созданном объекте (Particles).
Далее в окошке Properties настраиваем следующие параметры:
Name – Blink
Angle - -90 (минус девяносто)
Effects – Add – выбираем из списка Blur Horizontal (горизонтальное размытие) – Ok
Effects – Add – выбираем из списка Blur Vertical (вертикальное размытие) - Ok
Effects – Add – выбираем из списка Behind Glow (внешнее свечение) - Ok

Для усиления эффекта свечения, у Behind Glow изменим следующие параметры:
Red – 222%
Green – 222%
Blue – 222%


Идем далее:
Rate – 600 (это число появляющихся частиц)
Ставим галочки напротив One-shot и Use texture.
Первая отвечает за единоразовое появления частиц, вторая – за отображение нашей текстуры, которую мы сейчас нарисуем.

Напротив пункта Texture нажмите на Edit. В этом окне вам предстоит нарисовать простенькую текстурку. У меня, например, получилась вот такая вот:



Далее у нас идет пункт Speed. Это скорость движения частиц.
Она нам большой не нужна, поэтому ставим значение равное 10.

X randomizer – 32
Y randomizer – 30

Это были пункты, отвечающие за разброс частиц в пространстве. У меня герой достаточно маленький, поэтому значения соответствующие.

Size randomizer – 4
Display angel randomizer – 360
Speed randomizer – 135
Display angel turn randomizer – 360

Acceleration - -400 (минус четыреста)
Gravity – 100
Gravity angel – 270

В пункте Color выбираем цвет WebWhite (самый последний)
В пункте Fade to color выбираем цвет Webblaven (предпоследний)
Fade colour time – 777
Fade out time - 777


Если непонятны какие-либо из вышеперечисленных пунктов, просто поиграйтесь с их настройками, и все станет ясно.

Эффект готов, теперь его нужно внедрить в игру.
Переходим в редактор событий.

В событии, которое мы настраивали ранее, добавляем новое действие:
System – Create object relative to object – Pick an object – из списка выбираем наш эффект Blink, в пункте Layer name or number не забываем указать нужный слой, на котором будет появляться эффект, в пункте Object to position to щелкаем на Pick an object – из списка выбираем bazis – Finish

Теперь скопируйте это действие, чтобы у вас их было два.
Одно разместите перед действием Wait, второе – после.



Вот и все готово. Проверяем, наслаждаемся =)

Небольшие дополнения:
Если вы хотите, чтобы ваш герой не терял здоровья при встрече с врагами, в момент телепортации – просто сделайте его неуязвимым на время действия навыка.

Если вы хотите, чтобы герой перемещался сквозь твердые объекты, то вам нужно действовать не методом перемещения героя невидимым, а через действие Set position, где вы вычисляете координаты героя и добавляете к ним некоторое число, например
450. Если действовать так, то некоторые действия из вышеуказанных будут попросту не нужны.


Сообщение отредактировал: Loko™ - Четверг, 14.02.2013, 22:24
yood19 Дата: Четверг, 14.02.2013, 20:41 | Сообщение # 2
Просмотр профиля: yood19

Сообщений: [510]
А исходника не будет?

DARNDZ Дата: Четверг, 14.02.2013, 21:06 | Сообщение # 3
Просмотр профиля: DARNDZ

Сообщений: [366]
ACMilan Дата: Четверг, 14.02.2013, 21:10 | Сообщение # 4
Просмотр профиля: ACMilan

Сообщений: [117]
Хорошая статья)


Cranium Дата: Четверг, 14.02.2013, 21:19 | Сообщение # 5
Просмотр профиля: Cranium

Сообщений: [10]
Большое спасибо.
Однозначно + в репутацию.
ZiP Дата: Четверг, 14.02.2013, 21:23 | Сообщение # 6
( περιμετρ )
Просмотр профиля: ZiP

Сообщений: [887]
Loko™, ещё одна отличная статья, так держать.=)

☼Настройка профиля|↕Написать жалобу на пользователя|▲Правила сайта|░мои темы
BSC Hard|Death Jeep|WSC B&W|Моб.платформер|BSC Hard 2|Последняя Миссия|Christmas Story
░▒▓ Z7NV ▓▒░
Loko™ Дата: Четверг, 14.02.2013, 22:13 | Сообщение # 7
Просмотр профиля: Loko™

Сообщений: [146]
yood19, не думаю, что исходник нужен. Здесь всего два события и десять действий.
yood19 Дата: Четверг, 14.02.2013, 22:18 | Сообщение # 8
Просмотр профиля: yood19

Сообщений: [510]
Отличная статья)
"+" уже поставил


  • Страница 1 из 1
  • 1
Поиск:

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