忍者ブログ
なんかもういろいろ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今回は、みんな出したいストライカー編です

以前、ヘルパーステートを利用した
飛び道具の作り方について書きましたが
それを応用する方法で作ります

というか、ヘルパーを使った飛び道具の方が
飛び道具風のヘルパーと言えますな

ヘルパーには、これも以前書いた、hitoverrideも必要ですよ、バグ防止の為

さて、そのヘルパーがどんなヘルパーか
まず考えておく必要がありますね

飛び道具との差、ですか

まず、飛び道具と違って、攻撃を受けてその場で消滅するというだけではなく
ダメージモーションで吹き飛ばされないといけません

横一直線に飛ぶ訳ではないですし、背後などから発生して地面に立ち
そこから攻撃、などという事も多いです
ものによってはそのまま居続け、操作可能なんて事も

つまり、はるかに複雑に動く訳です

今回は

「背後の空中から、ジャンプ攻撃をしながら飛び込んで、着地した後飛び去る」

というヘルパーを作る方法を書いてみます

それを踏まえて今回用意する物

・操作キャラのヘルパー呼び出し用モーション
・ヘルパーの飛び込み攻撃モーション
・ヘルパーの着地モーション
・ヘルパーのダメージモーション
・ヘルパーの飛び去りモーション

・hitoverrideの知識
・velの知識
・helperの知識

ですね

では実際に書いてみますが
今回は以前やった物は略しますよ


[Statedef 1000]
type    = S                     
movetype= I                 
physics = S      

[State 1000,1 ヘルパーを出す]
type = Helper
trigger1 = time = 0
name = "helpersann"  ;ちゃんと名前を付けてあげるとバグが出た時便利です
stateno = 1005       ;
ID = 1005            ;ヘルパーのIDナンバー
helpertype = normal  ;ヘルパーの属性:画面スクロールの影響を受けるか否かを決める
                     ;(Player=影響有り・画面外に出られない Normal=影響無し・画面外に出られる)
pos = -100,-100 ; ※下記注意         ;ヘルパーの出現位置
postype = back         ;ヘルパーの最初に出る軸位置の属性(Explodのpostypeと書き方は同じだが効果が少し違う)
facing = 1
keyctrl = 0          ;ヘルパーがコントロール可能かどうか(0=操作不可・1=操作可能)
ownpal = 0           ;ヘルパーが(PalFXなどで)本体の色が変わった時に一緒に変わるかどうか(Explodのownpalと一緒)
supermovetime = 30
pausemovetime = 30
size.xscale = 1      ;ヘルパーの横のサイズ
size.yscale = 1      ;ヘルパーの縦のサイズ
sprpriority = -2

[State 1000,2]
type = changestate
trigger1 = time = 30
value = 0


まず最初のヘルパー呼び出しステートです

画面外から登場するのでhelpertype = normalですね
斜めに落ちてくる訳なのでposのY軸を高めに設定しておきましょう


ここは飛び道具の時にやったのでこれくらいですか、説明する部分は
大切なのはヘルパーステートですしね

という件のヘルパーステートがこれです


[Statedef 1005]
type    = S                     
movetype= I                 
physics = N

[State 1001,1]
hitdef(略)

[State 1001,2]
type = velset
trigger1 = time = 0
x = 5
y = 5

[State 1001,3]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
stateno = 1010
time = 1

[State 1001,4]
type = changestate
trigger1 = pos Y >= 0
value = 1006


上のhelperのstatenoの項目で書いたステート1005番ですね

physics = Nが重要で、SやAにすると地面に接地した時分身しますよ
間違いなくNにしましょう

で、繰り返しになっちゃいますが、斜めに落ちてくるので斜め向きのvelsetです

それとここでhitoverrideの登場です
なんで当身用のステートがこんなとこで必要なのかと言いますと
ヘルパーは接地すると本体になっちゃいますし
ダメージを受ければ当然、本体のダメージモーションに飛びます
ゆえに、ヘルパーがダメージを受けたらヘルパーのダメージモーションに
当身を使う事で飛ばす訳です

では、まずは着地ステートです


[Statedef 1006]
type    = C                     
movetype= I                 
physics = N
anim = ??? ;ヘルパーの着地モーションを
velset = 0,0 ;停止させます

[State 1001,3]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
stateno = 1010
time = 1

[State 1001,4]
type = changestate
trigger1 = time = 20
value = 1007


ここは書いたまんまです、着地してからジャンプするまでの間です
その間攻撃された時の為にちゃんとhitoverrideをつけときましょう

で、飛び去り用のステート


[Statedef 1007]
type    = A                     
movetype= I                 
physics = N
anim = ??? ;ヘルパーの飛び去りモーションを

[State 1001,2]
type = velset
trigger1 = time = 0
x = -5

[State 1001,2]
type = velset
trigger1 = time = 0
y = -5

[State 1001,2]
type = veladd
trigger1 = time >= 5
y = 0.2

[State 1001,3]
type = HitOverride
trigger1 = 1
attr = SCA,AA,AP,AT
stateno = 1010
time = 1

[State 1001,4]
type = destroyself
trigger1 = backedgebodydist < -10


ここはちょっと違いますね

veladdを使っているのは放物線を描かせる為です

で、見慣れない奴を

destroyselfとは、ヘルパーを消す命令です
トリガーに入っているbackedgebodydistは
後ろの画面端との距離を取る物で
画面端より10ピクセル奥まで行った時に発動するようになってます

で、次がダメージモーション用です


[Statedef 1010]
type    = A                     
movetype= I                 
physics = N
anim = ??? ;ヘルパーのダメージモーションを入れましょう

[State 1001,2]
type = velset
trigger1 = time = 0
x = -5
y = -5

[State 1001,2]
type = veladd
trigger1 = time >= 5
y = 0.2

[State 1001,4]
type = destroyself
trigger1 = backedgebodydist < -10


ほとんど飛び去りステートとおんなじですね

でもこれがとても重要で、これがないと
ダメージを受けたら分身しちゃいますし
うっかりヘルパーが投げられた上で分身、とかなると
相手側に不具合が出る可能性もあります

hitoverrideはp2statenoのあるを無効に出来るという
効果がありますので、ヘルパーを作る場合には必須です

で、ここでもう一個、分身対策に


[State -2]
type = destroyself
trigger1 = ishelper
trigger1 = stateno = 0


これを-2ステートにつっこんどきましょう

これは、ステートナンバー0の時に
プレイヤーがヘルパーであればdestroyselfするという物です

なんの為に必要かと言うと、hitoverrideはreversaldefよりも
弱い命令なので、攻撃判定がぶつかった時に分身してしまいます

最悪分身してしまった時、そのヘルパーは本体の分身として
地上で通常モーションを取りますので消滅するという寸法です


難しいですけど、やっぱ一度はやりたいストライカー
覚えてしまえばかなり複雑な事も出来るようになりますし
演出にも使えます

拍手[1回]

PR
この記事にコメントする
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
この記事へのトラックバック
この記事にトラックバックする:
カレンダー
08 2017/09 10
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
最新記事
(04/22)
(04/17)
(04/01)
(03/19)
(11/05)
ブログ内検索
最新コメント
[11/26 ななし]
最新トラックバック
プロフィール
HN:
カス
HP:
自己紹介:
臨海のハチャメチャファイター、ご飯を食べてウンコに変える錬金術師、絵とか描く
アクセス解析
カンダタ

Copyright © [ 描く打ち ] All rights reserved.
Special Template : 忍者ブログ de テンプレート
Special Thanks : 忍者ブログ
Commercial message : [PR]