Contents
Wiki内検索
最近更新したページ
最新コメント
タグ

●●●リョナ技の記述を注釈ありで読み解く3●●●

●●●3、バーディのまんぐりの記述を、注釈ありで読み解く(バーディ側)●●●

使用するキャラクター
  • mugeryona2376』より『0D_Birdie

見ていく記述『まんぐり(11100番)』
…『Birdie-N2.cns』で『11100』を検索したところから見ていきます。

※紹介した部分で特に触れるところがなかったり、テンプレの内容と一緒であれば、説明を省略します。


; まんぐり1-----------------------------------------------------------
[Statedef 11100];★必須 動作記述の一番最初にくる。
type = S
movetype = A
physics = S …移動技や空中技以外の時は『S』だが、『A』は浮かんだり沈んだりするため、リョナ技は『S』か『N』にしておけばOK
anim = 11100
velset = 0,0
SprPriority = 2 …レイヤー2


[State 810, Playerpush];▲プレイヤーのぶつかり判定に影響。
type = Playerpush
trigger1 = 1
value = 0 …ぶつかり判定をなくす。

…設置に当たったり、タッグ戦の時に潰されるなどの対策。無敵だけだと、キャラに押されてしまうため。

[State -2, targetstate];★必須 相手を指定の番号へ
type = targetstate
trigger1 = time = 0
value = 11106

[State 810, TargetBind];★必須 相手を指定の位置へ(以前の記事でテンプレから抜けていましたが、必須です)
type = TargetBind
trigger1 = time > 0
pos = 0,-3

[State -2, PlaySnd];★必須 音声再生
type = PlaySnd
trigger1 = time = 0
value = 1000,4


[State 11101];断面▲ 断面図アニメの再生
type = Explod
trigger1 = time = 0
anim = 11170
ID = 11170 …ID番号『11170』
postype = p1
pos = 0,0
sprpriority = 5 …レイヤー5
removetime = -1 …消すまで消えない

[State 11101];断面消す▲今回の記述の肝。explodのアニメを消す
type = RemoveExplod
trigger1 = time >= 60 …60フレーム後
ID = 11170 …ID『11170』番のexplodを対象

60フレーム後、ID『11710』のアニメを消す。


[State -2, ChangeState];★必須 次のアニメに移行するための記述
type = ChangeState
trigger1 = time >= 60 …60フレーム後
value = 11101 …11101番のアニメへ以降


〜〜〜removeexplodについて〜〜〜
explodを消す記述で、IDを指定すると、そのIDのexplodだけを消すことが出来る。
この時、ID番号を省略することも出来る。
;スプライト消去
[State 6002, RemoveExplod]
type = RemoveExplod
trigger1 = time <= 0

という風にすると、『自分が出したexplodをすべて消す』という意味になり、とにかく変なものを残したくない時には便利。
ただし、精液をexplodに設定して表現し、それを残す。という表現にしたい場合、この『すべて消す』というのが邪魔になります。
そういう時のために、explodにはIDをつけ、消したいものだけ消す記述が書けるようにしてあります。


以下、まんぐりの続きのアニメを見ていくが、大体は同じ記述が並んでいます。
大まかな流れが

11100(挿入待機)300フレームだが『60フレーム経過後次へ』

11101(ピストン1)24フレームを『200フレーム経過後次へ』

11102(ピストン2)13フレームを『200フレーム経過後次へ』

11103(ピストン3)7フレームを『200フレーム経過後次へ』

11104(射精)372フレーム

という流れになります。

これは後背位を細かく分けた形となっており、このように分けることで
・1つのアニメに必要な画像とコマ数が少なくなるため、編集が楽
・ピストンの長さなどを変える際に便利

など、作る側にかなりの利点があります。


とにかくこの形が楽で、後背位の時のように一つのアニメに詰め込んだ形になるとtriggerの数が多くなります。

[State 11002]
type = PlaySnd
trigger1 = AnimElem = 12 || AnimElem = 18 || AnimElem = 24 || AnimElem = 30 || AnimElem = 36
trigger2 = AnimElem = 42 || AnimElem = 48 || AnimElem = 54 || AnimElem = 60
trigger3 = AnimElem = 64 || AnimElem = 70 || AnimElem = 76 || AnimElem = 82
trigger4 = AnimElem = 88 || AnimElem = 94 || AnimElem = 100 || AnimElem = 106
trigger5 = AnimElem = 112 || AnimElem = 118 || AnimElem = 124 || AnimElem = 130
trigger6 = AnimElem = 136
value = 6, 1


というAnimelemの束を減らすことが出来るのは、かなり製作者に優しいです。
Animelemはアニメの何コマ目にあるのかをSAEを開き、長いアニメ番号を目で追わないとダメで、ミスも多くなります。
そして音なども一回一回コマを追って1つ1つに音をつける必要があります。

11101のアニメは次のアニメへの移行条件を満たしていない場合、もう一度繰り返すため、1回分のアニメ(6コマ)を作り、
それを条件で移行させることで、音を設定する場所もアニメ1つにつき一回で済みます。(ピストンの場所のコマに音をつけておけば、また最初から繰り返すため)
さらには『changestate』の移行条件で

[State -2, ChangeState];★必須 次のアニメに移行するための記述
type = ChangeState
trigger1 = time >= 200 …200フレーム以降
trigger1 = animtime = 0 …アニメが終了した時
value = 11102 …11102番のアニメへ

↑のように、time >= ○○のところを増減させることで、エラーもなく、自分の好きな長さに変更できます。
※二つ目の条件である『trigger1 = animtime = 0』があるのは、中途半端なアニメの所で移行し、違和感が出ないようにするため。


このように利点が多くあるため、新たに記述を書く場合は、アニメを分けて作成することを推奨します。


11101〜11104はこれまでとほぼ同じ記述になるため、特筆すべき点以外は省略します。

ここからは確認のために、『Birdie.sff』をSAEで開いておいてください。

; まんぐり2-----------------------------------------------------------
[Statedef 11101]
〜〜〜〜〜〜〜〜
SprPriority = 2

[State 11101];ケツ
type = Explod
trigger1 = time = 0
anim = 11111
ID = 11111
postype = p1
pos = 0,0
sprpriority = 3
removetime = -1

[State 11101];ケツ消す
type = RemoveExplod
trigger1 = time >= 200
trigger1 = animtime = 0
ID = 11111

↑の二つですが、これはバーディの足以外を透過させて見せるための工夫です。
  • SAEの『Air』画面で『11101』を検索します。

 すると画像のバーディが透明になっています。これは『AS256D080』という数字があると思いますが、この数字で透明にしたり、黒くすることが出来ます。


 それに対し、上から被せるようになっている『11111』はどうなっているかというと(下にスクロールさせる)

 バーディの足だけ表示されているアニメが見つかります。これはマングリの画像から足部分だけを切り抜いたもので、動きは『11101』と『11111』は一緒です。


 次は記述に戻り、『sprpriority』の数を見てみます。相手キャラの値は1です

 足のみ(11111-3)>本体(11101-2)>相手(180120-1)

 となっています。つまり、相手の上に透明の本体を被せ、さらに足を被せることで、足以外が透過したように見えるわけです。
 足もいらない場合はexplodの記述を消せばよく、透過も要らない場合は『AS256D080』を消せば不透明になります。
 ●などのように、ボタンを押したら透明にする方法もありますが、それはまた後日に。


↓以降の記述
[State 11101]
type = Explod

[State 11101];断面消す
type = RemoveExplod

[State -2, targetstate]
type = targetstate

[State 810, TargetBind]
type = TargetBind

[State -2, PlaySnd]
type = PlaySnd

[State -2, ChangeState]
type = ChangeState


という形になっています。『targetState』は毎回入れないとロックが外れるため、忘れないように。


SAEの透過部分の記述ですが、透けて見せるような演出であれば『AS256D○○○』のように、D以降の数字を大きくすればするほど透明になります。
基本的にはこの使い方のみなので、他に黒くしたい演出がある場合はASの後ろの方を弄ってみてください。いずれも基本的には最高値は256、最低値は0です


記述関係なのですが、画像掲示板の方で記述に対して説明の補助をしてくれるというすごいツールを教えていただいたので紹介させていただきます。


『SAKURA_DE_MUGEN』

というツールで、『サクラエディタ』(メモ帳ソフト)への拡張ツールみたいなものです。
両方とも検索したら簡単に見つかり、『SAKURA_DE_MUGEN』の方はファイルの中に丁寧な導入手順まで入っているので、そちらを参考にしてみてください。


ただし、説明の内容は結構慣れてきた人向けです。しかし、その分かなり便利な機能も多いため、是非使ってみてください。


前回>>●●●2、バーディの後背位の記述を、注釈ありで読み解く(相手側)●●●
次回>>●●●4、バーディのまんぐりの記述を、注釈ありで読み解く(相手側)●●●
2020年09月10日(木) 19:31:35 Modified by ID:IHwH6KmYlQ




スマートフォン版で見る