Вы вошли как: Гость      
[ Новые сообщения · Участники · Правила форума · Поиск]
  • Страница 1 из 1
  • 1
Преследующий файербол
ScorpionДата: Вторник, 04.09.2012, 11:48 | Сообщение # 1
Профессионал
Группа: Главный Администратор - Сайта
Сообщений: 126
Статус: Не в сети
Это создает файербол,который следует за противником(например - ракета у сектора в MK3)
Чтобы это сделать должны использоваться Helper`ы. Если Вы хотите добавить какие-либо Эффекты Снаряда, просто добавьте их к этому Стейту.

Code

[Statedef ****]
type = A
movetype = A
physics = N
anim = ****


Это необходимо, так, чтобы снаряд не мог быть уничтожен и превратиться в копию главного героя. Это - то, что я использую, но за альтернативу, Вы можете вставить HitOverride, или просто не поставить Clsn2-коробки =)

Code

[State ****: NotHitBy]
type = NotHitBy
trigger1 = 1
value = SCA


Эти следующие части необходимы, чтобы следовать за противником и развернуться, если противник так или иначе отстает он. Превращение не требуется, но оно зависит от типа anim, который Вы используете для снаряда.

Все VelSet и VelAdd , могут быть изменены соответственно.

The triggers "Vel X > -6", "Vel Y < 6" and "Vel Y > -6" используются для того,чтобы ограничить скорость снаряда.

[State ****: Turn]
type = Turn
trigger1 = (P2Dist X < 10)

[State ****: VelSet]
type = VelSet
trigger1 = (!Time)
x = 3

[State ****: VelAdd]
type = VelAdd
trigger1 = (P2Dist X < 0) && (Vel X > -6)
x = -0.2

[State ****: VelAdd]
type = VelAdd
trigger1 = (P2Dist X > 0) && (Vel X < 6)
x = 0.2

[State ****: VelAdd]
type = VelAdd
trigger1 = (EnemyNear, Pos Y > Pos Y) && (Vel Y < 6)
y = 0.2

[State ****: VelAdd]
type = VelAdd
trigger1 = (EnemyNear, Pos Y <= Pos Y) && (Vel Y > -6)
y = -0.2

Конечно, контроллер HitDef необходим. Все здесь зависит от вас, но "attr" параметр должен быть установлен на тип снаряда. Например, "S, SP"

Code
[State ****: HitDef]
type = HitDef
trigger1 = 1
attr = S, SP
; (etc...)


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

Альтернативно Вы можете поместить Снаряд в другой стейт если Вы хотите, чтобы что-то еще произошло прежде, чем это будет удалено.

Code

[State ****: DestroySelf]
type = DestroySelf
trigger1 = (MoveContact) || (Time > 200)
ignorehitpause = 1


Автор перевода:scorpion
Ссылка на источник:http://mkproject.3dn.ru/
При копировании ссылка на источник - обязательна!!!



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

Сайт создан в системе uCoz