今回は斜め方向の弾を撃てるようにします。斜めにも投げたいブーメランの布石です。
RPGツクールMZの公式プラグイン「ARPGプラグインセット」で遊んでいます。今までには初代ゼルダをイメージしつつ、アイテム掲げ、剣ビーム、盾ガード、ドロップアイテムを作ってきました。
神トラをイメージしての壺投げもありますので、是非過去記事も見てみてください。
●入力方向取得
まずは並列処理で常に方向が更新されるようコモンイベントで作成します。続けて斜め方向を判断するためにキー状態を取得。2値として値を加算することで同時押しを判断できるようにしています。
倍々の値にすることで各方向が押されたかどうかを扱えるようにしています。上だけが押されていたら1、下だけが押されていたら2。上と左同時押しなら5、下と右同時押しなら9。それぞれの状況を想定して加算してみると被らないことがわかります。0なら何も押されておらず、15なら全てが押されていると判断できます。
- コモンイベント「方向取得」作成
- トリガー:並列処理
- スイッチ:0002 ARPGモード
- #0026 %汎用方向 = 0
- 条件分岐:ボタン[上]が押されている
- 変数の操作:#0026 %汎用方向 += 1
- 条件分岐:ボタン[下]が押されている
- 変数の操作:#0026 %汎用方向 += 2
- 条件分岐:ボタン[左]が押されている
- 変数の操作:#0026 %汎用方向 += 4
- 条件分岐:ボタン[右]が押されている
- 変数の操作:#0026 %汎用方向 += 8


●未入力時
マップ移動直後はキー入力されていない可能性もあります。なので、この時点でまだ%汎用方向が0の場合は現在の方向から値を決定します。
向きは必ず1つになるので、直接値を代入しています。
- 条件分岐:%汎用方向 = 0
- 条件分岐:プレイヤーが上を向いている
- 変数の操作:#0026 %汎用方向 = 1
- 条件分岐:プレイヤーが下を向いている
- 変数の操作:#0026 %汎用方向 = 2
- 条件分岐:プレイヤーが左を向いている
- 変数の操作:#0026 %汎用方向 = 4
- 条件分岐:プレイヤーが右を向いている
- 変数の操作:#0026 %汎用方向 = 8


●方向決定
最後は値ごとの角度を設定することで斜め方向の取得は完成です。
まずは最終的な値格納先となる「進行方向」に0を代入します。続けて上下左右の角度4種、最後に斜め4種です。押されなかった場合や3つ以上押された場合は0となり、上と判断されます。デバイスによっては入力可能になりますが、今回は割愛。
- 変数の操作:#0011 進行方向 = 0
- 条件分岐:%汎用方向 = 1
- 変数の操作:#0011 進行方向 = 0
- 条件分岐:%汎用方向 = 2
- 変数の操作:#0011 進行方向 = 180
- 条件分岐:%汎用方向 = 4
- 変数の操作:#0011 進行方向 = 270
- 条件分岐:%汎用方向 = 8
- 変数の操作:#0011 進行方向 = 90
- 条件分岐:%汎用方向 = 5
- 変数の操作:#0011 進行方向 = 315
- 条件分岐:%汎用方向 = 9
- 変数の操作:#0011 進行方向 = 45
- 条件分岐:%汎用方向 = 6
- 変数の操作:#0011 進行方向 = 225
- 条件分岐:%汎用方向 = 10
- 変数の操作:#0011 進行方向 = 135


●斜め方向の弾
それでは、ファイアを斜め方向にします。攻撃角度に渡している%#汎用角度に進行方向を渡すだけで完了です。不要になる角度決定処理(青字関連のもの)は削除してください。(気になる方はスキップ
- コモンイベント「ファイア」の先頭に追加
- 変数の操作:#0027 %#汎用角度 = 進行方向
- 汎用方向と汎用角度を設定する条件を全て削除

●まとめ
思ったより斜め方向の弾は簡単でしたが、体調不良のためブーメランは次に持ち越し。戻ってくるブーメランの動きまでは思ったよりはやくしかし、ブーメラン機能実装まで頭がまわりませんでした。
休んでいる間は初代ゼルダ、神の通常プレイ動画を見てたけど、ARPG-PluginSetにないものはほとんどできたかな?像を押したりするのはARPG-PluginSetと関係なくですし。
ブーメラン完成後はいよいよ、…フックショットを本格的に考えていこう。
コメント