[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
特殊移動には、posaddかpossetというステートを使います
ただ、特殊移動を語る前にまずvelsetとveladdについて
velset : 移動速度を指定します
veladd : 増加する移動速度を指定します
type = velset
trigger1 = time = 0
x = 5
この場合「ステートが始まって0フレーム時にX方向に5の速度で移動」
となります、が
地上に立っている時には摩擦係数の影響を受けるし
空中なら重力の影響を受けますから、そのままの速度で移動する事はありません
(正確には最初の一瞬だけしかそのままの速度で移動しません)
摩擦係数などの影響を受けたくない場合は、statetypeをNにする事が必須になります
また、statetypeがNの時これを使うと、当たり前ですが、すーっと移動します
次に
type = veladd
trigger1 = time = 0
x = 5
この場合「ステートが始まって0フレーム時にX方向に速度を5増加」となります
これらの違いは、指定するか上乗せするかの違いです
velsetで速度を指定し続けても、速度5は変わりません、が
veladdで速度を指定し続けた場合、5→10→15、と、増加していきます
type = veladd
trigger1 = time > 0
x = 1
この場合「ステートが始まって0フレーム以降ずっと速度を1ずつ増加」
簡単に言うと「1フレームにつき1加速」ですね
ミサイルみたいに加速する物に使ったり
statetypeがNの時、まずvelsetで上向きに飛ばして
veladdを下方向(Yの+数)に掛けてやれば
放物線の様に動かす事が出来ますね
さて、やっとこ瞬間移動ですが
vele = posadd
trigger1 = time = 0
x = 30
type = posset
trigger1 = time = 0
y = -100
こんなやつですね
まずはposaddから行きましょう
type = posadd
trigger1 = time = 0
x = 30
これは「ステートが始まって0フレーム時にX方向に30ピクセル移動させる」
という命令です
Xは横方向、Yは縦方向です
また、Xは+でキャラ正面に、-でキャラ後方を指し
Yは+でキャラの下方向、-でキャラ上方向を指します
これは瞬間移動でなくても使うステートです
移動する技を使う場合、その技でキャラが移動しても
終わった時点で元の場所に戻ってしまいますし
velsetを使用してキャラを移動させても、スライドしてしまって不自然になります
possetは、あるポイントに移動
posaddは、その場から一定距離移動
つまり
移動場所が指定される、ベガやダルシムのワープならposset
その場から一定距離移動する、火月の炎滅やザベルのワープならposadd
になりますね
また、ジャンプする技などは、着地の際にほんの少し地面とのずれが発生する事があります
速度の速い落下技などは多いです
これを解消する為に、着地したステートにてpossetでYを0に指定しておけば
地面の中に埋まってしまうようなバグも減りますね
補足
このposを使ってワープなどの技を使う場合
screenboundが必要な場合があります
screenboundとは、カメラをそのキャラに追従させるかどうかを
指定する命令です
瞬間移動した際に、カメラがそちらの方向についていっては困る場合
これを使用します(ついてっちゃうと折角の瞬間移動なのに場所分かっちゃいますからね