mugggg
2010-01-10 19:49:30
Theme: ブログ
ちょいとmugenのキャラの記述について勉強してみんとす。
というわけで、以下和訳kfmのcnsの一部の記述。詳しく言うと立ち弱パンチの記述。
[Statedef 200]
type = S ← 立っている状態にする
movetype= A ← 攻撃している状態にする
physics = S ← 地面から摩擦を受けている状態にする
juggle = 1 ← 空中にいる相手には1ヒットする
velset = 0,0 ← X軸方向に0、Y軸方向に0移動する(つまり移動しない)
ctrl = 0 ← キー入力を受け付けない
anim = 200 ← 200番のアニメを開始する
poweradd = 20 ← パワーゲージに20追加
sprpriority = 2 ← 画面優先度を2位に
facep2 = 1 ← 相手の方向に向く
ステートの記述。
ボタンが押されて、弱パンチが行われる時に行われる命令。
[State 200, 音を鳴らす]
type = PlaySnd ← 音を鳴らす命令であると宣言
trigger1 = Time = 1 ← このStateが開始されてから1フレーム目であれば、以下の処理を行う
value = 0, 0 ← 0, 0に登録されているサウンドを再生
ステートコントローラーの記述。
名前の通り、音を鳴らす処理がされているのがわかる。
[State 200, ヒット定義]
type = HitDef ← ヒットしたときの処理に関する記述であると宣言
trigger1 = AnimElem = 3 ← アニメーションが3枚目なら、以下の処理を行う
attr = S, NA ← S(立ち状態)のN(通常攻撃)A(打撃)とする
damage = 23, 0 ← この攻撃がヒットしたら23ダメージ、ガードされたら0ダメージとする
animtype = Light ← 攻撃がヒットしたとき、弱のけぞりになるとする
guardflag = MA ← この攻撃は立状態、屈状態、空中でガード可能とする
hitflag = MAF ← この攻撃は立状態、屈状態、落下中にヒットするとする
priority = 3, Hit ← 相打ち状態になった時、相手の優先順位が3以下なら相手にヒットする
pausetime = 8, 8 ← 攻撃がヒットした時、自分8フレーム、相手8フレーム硬直する
sparkno = 0 ← ヒットした時、弱い打撃のヒットスパークを表示する
sparkxy = -10, -76
↑ ヒットスパークを表示する座標は相手のスプライトの左下からX座標に-10、Y座標に-76
hitsound = 5, 0 ← ヒットした時の音は弱打撃音とする
guardsound = 6, 0 ← ガードした時の音はデフォルトとする
ground.type = High
↑ ヒットした時の相手の食らいモーションは上のけぞりとする
ground.slidetime = 5 ← ヒットした時、相手は3フレーム後ずさるとする
ground.hittime = 10 ← ヒットした時、相手は10フレームの間、ヒット状態を保持する
ground.velocity = -4 ← ヒットした時、相手はX座標に-4移動するとする
airguard.velocity = -1.9,-.8
↑ 相手が空中でガードした時、X軸方向に-1.9、Y軸方向に-0.8?移動する
air.type = High ← 空中でヒットした時の相手の食らいモーションは上のけぞりとする。
air.velocity = -1.4,-3
↑ 空中でヒットした時、相手はX座標に-1.4、Y座標に-3移動するとする
air.hittime = 12 ← 空中でヒットした時、12フレームの間、ヒット状態を保持する
ステートコントローラーの記述。
攻撃が相手に触れたときの処理が書かれているのがわかる。
[State 200, ステート変更]
type = ChangeState ← ステートを変更する処理に関する記述であると宣言
trigger1 = AnimTime = 0 ← アニメーションが終了したら以下の処理を行う
value = 0 ← ステートを0に変更する
ctrl = 1 ← キー入力を受け付ける
ステートコントローラーの記述。
弱攻撃のモーションが終わったときに使う処理が書かれていることがわかる。
cnsの中身色々見てたけど、記述自体は結構簡単にできるっぽい。
まず最初に[Statedef ???]って書いてその下に動作が行われる時の処理について書き、
[State ???, !!!]って書いてその下に動作が行われている間の処理について書けばいいんだから簡単だ。
それより上のほうにある[Data]って所などは、そのままkfmの記述を持ってきてから数値を調整すればいいだけだし。
ただ問題は、ステートコントローラーとかトリガーの部分は一覧が日本語で書かれているサイトを発見したけど、ステートそのものの記述の一覧が日本語で書かれているサイトが無かった。
でも大体今回見た奴と変わりはないっぽいし、別に無くても大丈夫かな?
というわけで、以下和訳kfmのcnsの一部の記述。詳しく言うと立ち弱パンチの記述。
[Statedef 200]
type = S ← 立っている状態にする
movetype= A ← 攻撃している状態にする
physics = S ← 地面から摩擦を受けている状態にする
juggle = 1 ← 空中にいる相手には1ヒットする
velset = 0,0 ← X軸方向に0、Y軸方向に0移動する(つまり移動しない)
ctrl = 0 ← キー入力を受け付けない
anim = 200 ← 200番のアニメを開始する
poweradd = 20 ← パワーゲージに20追加
sprpriority = 2 ← 画面優先度を2位に
facep2 = 1 ← 相手の方向に向く
ステートの記述。
ボタンが押されて、弱パンチが行われる時に行われる命令。
[State 200, 音を鳴らす]
type = PlaySnd ← 音を鳴らす命令であると宣言
trigger1 = Time = 1 ← このStateが開始されてから1フレーム目であれば、以下の処理を行う
value = 0, 0 ← 0, 0に登録されているサウンドを再生
ステートコントローラーの記述。
名前の通り、音を鳴らす処理がされているのがわかる。
[State 200, ヒット定義]
type = HitDef ← ヒットしたときの処理に関する記述であると宣言
trigger1 = AnimElem = 3 ← アニメーションが3枚目なら、以下の処理を行う
attr = S, NA ← S(立ち状態)のN(通常攻撃)A(打撃)とする
damage = 23, 0 ← この攻撃がヒットしたら23ダメージ、ガードされたら0ダメージとする
animtype = Light ← 攻撃がヒットしたとき、弱のけぞりになるとする
guardflag = MA ← この攻撃は立状態、屈状態、空中でガード可能とする
hitflag = MAF ← この攻撃は立状態、屈状態、落下中にヒットするとする
priority = 3, Hit ← 相打ち状態になった時、相手の優先順位が3以下なら相手にヒットする
pausetime = 8, 8 ← 攻撃がヒットした時、自分8フレーム、相手8フレーム硬直する
sparkno = 0 ← ヒットした時、弱い打撃のヒットスパークを表示する
sparkxy = -10, -76
↑ ヒットスパークを表示する座標は相手のスプライトの左下からX座標に-10、Y座標に-76
hitsound = 5, 0 ← ヒットした時の音は弱打撃音とする
guardsound = 6, 0 ← ガードした時の音はデフォルトとする
ground.type = High
↑ ヒットした時の相手の食らいモーションは上のけぞりとする
ground.slidetime = 5 ← ヒットした時、相手は3フレーム後ずさるとする
ground.hittime = 10 ← ヒットした時、相手は10フレームの間、ヒット状態を保持する
ground.velocity = -4 ← ヒットした時、相手はX座標に-4移動するとする
airguard.velocity = -1.9,-.8
↑ 相手が空中でガードした時、X軸方向に-1.9、Y軸方向に-0.8?移動する
air.type = High ← 空中でヒットした時の相手の食らいモーションは上のけぞりとする。
air.velocity = -1.4,-3
↑ 空中でヒットした時、相手はX座標に-1.4、Y座標に-3移動するとする
air.hittime = 12 ← 空中でヒットした時、12フレームの間、ヒット状態を保持する
ステートコントローラーの記述。
攻撃が相手に触れたときの処理が書かれているのがわかる。
[State 200, ステート変更]
type = ChangeState ← ステートを変更する処理に関する記述であると宣言
trigger1 = AnimTime = 0 ← アニメーションが終了したら以下の処理を行う
value = 0 ← ステートを0に変更する
ctrl = 1 ← キー入力を受け付ける
ステートコントローラーの記述。
弱攻撃のモーションが終わったときに使う処理が書かれていることがわかる。
cnsの中身色々見てたけど、記述自体は結構簡単にできるっぽい。
まず最初に[Statedef ???]って書いてその下に動作が行われる時の処理について書き、
[State ???, !!!]って書いてその下に動作が行われている間の処理について書けばいいんだから簡単だ。
それより上のほうにある[Data]って所などは、そのままkfmの記述を持ってきてから数値を調整すればいいだけだし。
ただ問題は、ステートコントローラーとかトリガーの部分は一覧が日本語で書かれているサイトを発見したけど、ステートそのものの記述の一覧が日本語で書かれているサイトが無かった。
でも大体今回見た奴と変わりはないっぽいし、別に無くても大丈夫かな?