※旧コンテンツより使いまわしの文章です。
未編集部分が多いので現状と一致しない部分が多々見受けられると思いますがご容赦ください。
本題に入る前に今回の技術理解のために必要な基本的知識を確認!
「1フレームでの移動量」
移動量1の場合の移動量は1/10ドットです。
すなわち、移動量10で1フレーム中に1ドット移動します。
「1フレームで1ドット動かす場合は移動量10!!」
…ひとまずそれさえ解かればOK!!
「キャラ作成テキストちゃんと読んでるからそれぐらい解かってるっつーの」って?
いや、でもまあ一応…ね。
自分は目方で決めてたから半年以上このことに気がついてなかったし。(爆)
(エネミー作る時なんかも結構このことは重要なんで、
覚えてなかった、知らなかった人はこの際頭に叩き込んどきましょうや。)
「大まかな流れ」
さて、ここからが本番ってことですが、ひとまず大体の流れを把握。
飛び道具発射後、攻撃判定が画面外に消えるまで本体は1フレームごとにHIT分岐させる。
分岐先はHITしたフレームから当たった位置を計算し、
消滅グラフィック用飛び道具をその飛び道具が当たった位置に移動+表示。
本体の硬直時間はどの位置で当たっても同じになるようにしておく。
こんなかんじ。
解かる人はこれだけでもう解かったかもしれないねぇ…。
方法が方法なだけに
「硬直が短く、すぐに本体が行動可能になる飛び道具」
「長いあいだ画面に停滞する飛び道具」
「ずっと一部に留まり続ける飛び道具」などには使えないってことはすぐに承知していただけたと思います。
「ひとまず飛び道具を発射すれ」
何はともあれ飛び道具を発射させる…ってそりゃそやね。(笑)
しかし普通に飛び道具を発射させて良いかと思えばそうもいきません。
飛び道具発射行の飛び道具には攻撃判定、移動などは一切無しにして下さい。
飛び道具用フラグとHIT分岐用フラグは併用できませんからねぇ…。
というわけで飛び道具が発射される前の行で飛び道具発射、
その行の処理フレームと同じ分のフレーム数だけ
攻撃判定、移動無しの行を飛び道具の1行目に用意する必要があるってことです。
さらにこの飛び道具のダメージ量にも一工夫。
消滅グラフィックを表示させたい訳ですが、飛び道具自体にダメージがあると
フィニッシュ時飛び道具の消滅グラフィックが表示されずにフィニッシュストップし、
ストップ解除後、消滅グラフィックが何もないところから出てくるようになりちょっとカッコ悪いことになります。
(それで良いって場合は別に止めないけどさ…人それぞれ好みってもんがあるだろうし)
ですからこの飛び道具自体のダメージ量は0にしておき、
ダメージは消滅グラフィック表示時に与えるようにしておけばいいわけです。
コンボ補正、ヒットカウントをリセットしたくない場合は−1にでもしておけば良いでしょう。(2HITカウントされるけどね)
攻撃属性もちゃんと続けて攻撃が入る物にしとく…ってそこまでは言わんでもいいか。(笑)
…え?相討ちの場合…?
……そりゃ目をつぶるしかないね…(汗)。
「分岐を作れれ」
その次は飛び道具発射の行以降の分岐ですが…
その前に発射した飛び道具の判定が何フレームで消えるかを計算しておきましょう。
まあ320ドット=移動量3200を超える時点で確実に消えているはず…。
その間のフレーム量が必要な分岐量であり、最低限必要な硬直時間でもあります。
なお、出現位置も考慮に入れれば、計算は面倒になるけど最低硬直時間や分岐数を減らす事が可能です。
そして、判定消滅までのフレーム数と同数1フレームずつの分岐フラグ付きモーションを用意します。
…このあたりで薄々感じてくるはず…
「これって…もしかしてすっげぇ行食らうんじゃ…?」…って…。(爆)
「分岐先を作りゃあ」
で、分岐先も当然先ほど作った分岐の数だけ…(汗)
分岐先には飛び道具発射フラグを付けて置くのは当然の事!<そうしとかんと肝心の消滅グラフィックが…ねぇ?
消滅時の音をつけたい時もここに指定しておけばOKです。
さらに最初発射した飛び道具にはダメージが設定されていないのでダメージ設定もここで行ないます。
飛び道具は消滅グラフィックで使っているので本体からの攻撃判定を使い、
確実に当たるよう判定は画面全体に及ぶようにしておくのがベストでしょう。
…え?「HITCHECK.exe」だと画面全体に及ぶ判定は設定できないって?
それなら直接書けばOK……え?最大値はFF=255までしか設定できないだろって?
大丈夫。KFXでの判定は16進数使ってるようで実は結構いいかげんなところがあって、
F以降のアルファベット…どころか小文字や記号、さらには半角カナまで何かしらの数値にしてくれちゃいます。(マジで)
もちろんめちゃくちゃなわけじゃなくちゃんと決まりはあるけどね…。
(たしかアスキーコードの配列のまんまとかなんとか…おかげで普通は出来ないYベクトルマイナス指定も可能)
まあ…画面全体なら320以上の数値が使えれば事足りる…。
で、KFXで判定に320と設定する際は…
K0
これをコピればたぶんOK。間違ってたらごめんよぅ…。
…っつーか今は飛竜++さんの判定エディタで簡単に設定可能なんだけどさ(爆)
この分岐の後には硬直を作るわけですが当然それも1フレームずつ違うわけで…死ぬる…。
「消滅グラフィックを作らなぁ」
さて、消滅グラフィックです。
先ほどの分岐先から呼び出す消滅グラフィックの1フレーム目をそれぞれ用意…ってああ、またかい。(死)
絵は消滅グラフィックの1枚目を指定し、HIT後の途切れは出来るだけ目立たないようにします。
当然1フレームで処理されるんですから移動途中は見えません。
ここで重要なのがその1フレームの移動量。
飛び道具を出した行の次で当たればその飛び道具の移動量と同じ、
(今回の方法では飛び道具を出した行では移動が行なわれないようにしているためです)
次のフレームで当たったら2倍に、次は3倍で次は4倍といった風にだんだんと同じ量だけ上乗せしていきます。
移動量が設定された部分の次の行には全て同じもの(消滅グラフィックの続き)を使って…
…おおう!これで全部完成だぁ!!
(当たった位置によってアクション違っても面白いかもしれんけど…そこまでやる根性、ある?(爆))
もちろん移動量が設定されてる部分を1フレーム以上にしたりはしないように。それ以上の位置までぶっ飛んじゃいますから。
達成感に浸りながら次へ…。
「完成しちまったにゃあ」
これで一通り完成です。
では、ちょいと整理されてないけど完成例としてロウの燐光珊瑚(弱)を…
1090 -1 1 0 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 10F07A00F04F 000000000000 ;槍-弱 1091 -1 2 6 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 10F07A00F04F 000000000000 ; 1092 -1 1 23 0 40 11 0 1 0 0 9 -1 0 0 1155 0 1000 112053012000 10F07A026055 000000000000 ; 1093 1242 1 24 0 40 9 0 1 0 0 9 -1 0 0 1156 0 1000 112053012000 10F07A026055 000000000000 ; 1094 -1 1 23 0 40 -4 0 1 0 0 9 -1 0 0 1163 0 1000 112053012000 10F07A026055 000000000000 ; 1095 -1 1 60 0 40 0 0 1 0 0 9 -1 0 0 1135 0 0100 112053012000 12307E00D052 000000000000 ;ここから分岐 1096 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1136 0 0100 112053012000 12307E00D052 000000000000 ; 1097 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1137 0 0100 112053012000 12307E00D052 000000000000 ; 1098 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1138 0 0100 112053012000 12307E00D052 000000000000 ; 1099 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1139 0 0100 112053012000 12307E00D052 000000000000 ; 1100 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1140 0 0100 112053012000 12307E00D052 000000000000 ; 1101 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1141 0 0100 112053012000 12307E00D052 000000000000 ; 1102 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1142 0 0100 112053012000 12307E00D052 000000000000 ; 1103 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1143 0 0100 112053012000 12307E00D052 000000000000 ; 1104 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1144 0 0100 112053012000 12307E00D052 000000000000 ; 1105 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1145 0 0100 112053012000 12307E00D052 000000000000 ; 1106 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1146 0 0100 112053012000 12307E00D052 000000000000 ; 1107 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1147 0 0100 112053012000 12307E00D052 000000000000 ; 1108 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1148 0 0100 112053012000 12307E00D052 000000000000 ; 1109 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1149 0 0100 112053012000 12307E00D052 000000000000 ; 1110 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1150 0 0100 112053012000 12307E00D052 000000000000 ; 1111 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1151 0 0100 112053012000 12307E00D052 000000000000 ; 1112 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1152 0 0100 112053012000 12307E00D052 000000000000 ; 1113 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 1153 0 0100 112053012000 12307E00D052 000000000000 ; 1114 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 1154 0 0100 112053012000 12307E00D052 000000000000 ; 1115 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1116 345 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1117 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ;ヒット後硬直 1118 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1119 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1120 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1121 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1122 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1123 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1124 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1125 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1126 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1127 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1128 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1129 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1130 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1131 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1132 -1 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1133 -1 1 60 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1134 1115 1 61 0 40 9 0 1 0 0 9 -1 0 0 0 0 0000 112053012000 12307E00D052 000000000000 ; 1135 1117 1 61 0 40 8 0 1 0 0 9 1 U 18 1166 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ;消滅グラフィック、サウンド呼び出し 1136 1118 1 60 0 40 8 0 1 0 0 9 1 U 18 1167 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ;及びダメージ 1137 1119 1 61 0 40 8 0 1 0 0 9 1 U 18 1168 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1138 1120 1 60 0 40 8 0 1 0 0 9 1 U 18 1169 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1139 1121 1 61 0 40 8 0 1 0 0 9 1 U 18 1170 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1140 1122 1 60 0 40 8 0 1 0 0 9 1 U 18 1171 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1141 1123 1 61 0 40 8 0 1 0 0 9 1 U 18 1172 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1142 1124 1 60 0 40 8 0 1 0 0 9 1 U 18 1173 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1143 1125 1 61 0 40 8 0 1 0 0 9 1 U 18 1174 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1144 1126 1 60 0 40 8 0 1 0 0 9 1 U 18 1175 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1145 1127 1 61 0 40 8 0 1 0 0 9 1 U 18 1176 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1146 1128 1 60 0 40 8 0 1 0 0 9 1 U 18 1177 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1147 1129 1 61 0 40 8 0 1 0 0 9 1 U 18 1178 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1148 1130 1 60 0 40 8 0 1 0 0 9 1 U 18 1179 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1149 1131 1 61 0 40 8 0 1 0 0 9 1 U 18 1180 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1150 1132 1 60 0 40 8 0 1 0 0 9 1 U 18 1181 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1151 1133 1 61 0 40 8 0 1 0 0 9 1 U 18 1182 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1152 1134 1 60 0 40 8 0 1 0 0 9 1 U 18 1183 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1153 1115 1 61 0 40 8 0 1 0 0 9 1 U 18 1184 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1154 1116 1 60 0 40 8 0 1 0 0 9 1 U 18 1185 1 1000 112053012000 12307E00D052 1~~0~~0~~0!! ; 1155 1157 1 38 0 40 9 0 1 -160 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ;槍出現1 1156 1157 1 38 0 40 9 0 1 -80 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ; 1157 -1 1 255 0 40 9 0 1 9999 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ; 1158 1157 1 38 0 40 9 0 1 9999 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ; 1159 1161 1 39 0 40 9 0 1 -40 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ;槍出現2 1160 1161 1 39 0 40 9 0 1 -20 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ; 1161 -1 1 255 0 40 9 0 1 9999 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ; 1162 1161 1 39 0 40 9 0 1 9999 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ; 1163 -1 1 39 0 40 9 0 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 000000000000 ;槍 1164 -1 1 255 0 40 9 160 1 0 0 9 1 U 0 0 1 0000 000000000000 000000000000 12306B02B063 ; 1165 1164 1 39 0 40 9 160 1 0 0 9 1 U 0 0 1 0000 000000000000 000000000000 12306B02B063 ; 1166 1186 1 39 0 40 9 160 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ;消滅グラフィック1行目 1167 1186 1 39 0 40 9 320 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1168 1186 1 39 0 40 9 480 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1169 1186 1 39 0 40 9 640 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1170 1186 1 39 0 40 9 800 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1171 1186 1 39 0 40 9 960 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1172 1186 1 39 0 40 9 1120 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1173 1186 1 39 0 40 9 1280 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1174 1186 1 39 0 40 9 1440 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1175 1186 1 39 0 40 9 1600 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1176 1186 1 39 0 40 9 1760 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1177 1186 1 39 0 40 9 1920 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1178 1186 1 39 0 40 9 2080 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1179 1186 1 39 0 40 9 2240 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1180 1186 1 39 0 40 9 2400 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1181 1186 1 39 0 40 9 2560 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1182 1186 1 39 0 40 9 2720 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1183 1186 1 39 0 40 9 2880 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1184 1186 1 39 0 40 9 3040 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1185 1186 1 39 0 40 9 3200 1 0 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1186 -1 1 255 0 40 9 0 1 30 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ;消滅グラフィック続き 1187 -1 1 39 0 40 9 0 1 30 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1188 -1 1 255 0 40 9 0 1 30 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1189 -1 1 38 0 40 9 0 1 30 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1190 -1 1 255 0 40 9 0 1 30 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1191 391 1 38 0 40 9 0 1 30 0 9 0 X 0 0 0 0000 000000000000 000000000000 0000D90000D9 ; 1242 -1 1 23 0 40 9 0 1 0 0 9 -1 0 0 1159 0 1000 112053012000 10F07A026055 000000000000 ;槍欠落部分(汗) 1243 1094 1 24 0 40 9 0 1 0 0 9 -1 0 0 1160 0 1000 112053012000 10F07A026055 000000000000 ;
…アホでしょ?モーションの食らい様が…(大汗)
やろうと思えばさらに、これでヒットorガード分岐もできますが…
さらにモーションが馬鹿みたいに増えるので、あまりお勧めしません(爆
(表記されていない行番号飛び先。
345=特殊ニュートラルポーズ
391=飛び道具消滅
です。今回の技術解説とはたいして関係も無いので省かせていただきました)