第十二回 壁際の吹っ飛び
そろそろネタ切れ感が出てきた今日この頃です 今回は壁際の吹っ飛びの設定です 格ツクでは壁際の吹っ飛びでは何も設定していないと 吹っ飛びの移動分ドンドン間合いが開いてしまいます 斜め上に吹き飛ぶ攻撃を画面端から見切れるくらい当てても ドンドン間合いが離れていきます これは壁に当たってもX軸の移動分スクロールしてるためです 背景が動かなため遠ざかっているように感じるのです 対処法は吹っ飛びモーションに条件分岐の技中有効の 「壁に当たったら」の命令を入れて その飛び先に吹き飛びで入れた座標移動のXの値に 吹き飛びで入れた−分と同じ数字を足せばOKです 座標移動の設定も足すにチェックを入れてください(代入ではない方) 足すことでYの移動に影響を与えずにXの移動を0にできます ただし吹き飛びのXの方に重力値を設定してると 計算が難しくなりますこちらの計算は後ほど
壁に当たったらで飛んでX座標移動を0にするのですが 問題はモーションがいくつかある場合や 空中復帰などを設定していると このままの設定では壁に当たったタイミングでずれが出てしまいます そのためタスクで何WAIT表示したか図る必要が出てきます たとえば空中復帰までの時間が100WAITだったら まず壁に当たったらでとび先を設定そして タスクに1+してそのあとに画像呼出の絵を1WAITに設定し タスクが100以下なら最初の壁に当たったらに飛ばす これを設定するとタスクが+100になるまでループします 途中壁にぶつかってスクリプトが飛んでも タスクの変数は生きているので 飛び先でX移動を0にした後 タスクに+1するループを設定すれば いつ壁に当たってもタスクが100になればそのタイミングで ループの先にスクリプトが飛んでくれるようになります
Vの100以下ならと言いうのは目安で 表示させたいWAIT数を入れてもらえればOKです そしてこの前後にタスクを0に初期化する設定を入れてください 計算前にタスクが0の状態でないと意図しないことが起こるためです ループ後は復帰と書いてあるとこも 復帰ではなく次のモーションを入れる設定もOKです その時はVの次の命令はタスクを0に初期化するものを入れて 再び上の説明と同じ要領で組んでもらえれば問題ないです
ちなみに重力が設定してある時はタスクを2つ用意して 1WAITに付き両方1を足していきます 壁に当たって座標移動でまずXの移動で設定した分と重力値を 同じ数だけマイナスします そしてタスク×重力値をマイナスします 重力値が1,00だったとしたら 座標移動のXの移動で1,00マイナスを設定し 次に片方のタスクを-1を入れ タスクが0になるまでループすればXの移動がちょうど0になります 2つのうちの一つのタスクはこの初期化用ということになります
ちなみに地上ののけ反りも同じくのけ反りで移動した分 間合いが開きますが こちらはそのまま間合いが開く設定にすることをお勧めします というのも地上のけ反りで間合いが開かなくなると いわゆる弱パンチといった間合いが遠くなるまで 連続ヒットする技などが永久にヒットするようになるからです 思いっきりのけ反って後退するような設定で入れたい時は モーションの途中から壁に当たったら間合いが広がらない設定を入れて ある程度開く間合いを確保するといいかもしれませんね〜
今回は壁際の吹っ飛び系のスクリプトでした 今回スクショはここで打った文字に矢印引いたものにしてみました SAIで文字打つの大変なので先に打ってみたのでした 壁際のヒットは後退してると間合いが広がるのですが 歩きやジャンプなどでは広がらないのですよね 故意に広げることができれば それはそれで技などを作れるかもしれませんね 今回は間合いが広がらないようにする解説でしたが あえて壁際なら広がるという設定も面白いかもですね〜 格闘ゲームは壁際は大幅に不利なので それを緩和する処置などもできるかもですね〜
話は変わりますが現在シルフルでは会話チャートのスクリプトを考えてます いわゆるノベル系の会話シーンをつるくものです うまくいけば簡単に格ツクでノベル系作れるってものです まあノベルだけなら専用ソフト使った方がはやいですがね〜w いつになるかはわかりませんが ここで紹介できる時がくればいいですね^^
|