戦闘シーンのウィンドウを調べてみた
戦闘シーンの処理についてはバトル周りを調べてみたと続・バトル周りを調べてみたで調べました。
しかし表示部分については全然触れていなかったので、今回はウィンドウについて調べてみようと思います。
またデバッグ用など、その他のウィンドウについても書きます。
Scene_Battle
イベントコマンド [戦闘の処理]を実行すると出てくるシーンです。もちろん、ランダムエンカウントや[戦闘テスト]でも出てきます。
ちょっと意外なのが、Scene_MenuBase
から継承されたシーンではなく、Scene_Base
から継承しているところです。
戦闘シーンはかなり特殊処理が多いので、下手に機能があるクラスを使うよりプレーンなところから拡張したほうが作りやすい、という面はあると思います。
この「オークが出現!」は、Window_Message
です。
[敵グループ]の[バトルイベント]で[文章の表示]イベントコマンドを使った場合も、このウィンドウが使われます。
[文章のスクロール表示]のWindow_ScrollText
も用意されていますし、基本的にはマップの時と同じノリで、コマンドが使えるのが良いですね。
パーティコマンド
さて戦闘シーンに入って最初に表示されるコマンドウィンドウがWindow_PartyCommand
。
さっき出た「オークが出現!」のウィンドウもいちいちボタン押させるのがウザかったのですが、このウィンドウも逃げるかどうか判断させるだけのコマンドで、かなりウザい。
全体的にRPGツクールMVは、無駄にボタン押させる傾向があります。
そして右隣にあるのが、Window_BattleStatus
。
Window_ActorCommand
左のコマンドウィンドウが、Window_ActorCommand
。
右が、Window_BattleEnemy
。
Window_BattleEnemy
は[スキル]や[アイテム]で敵を選択する場合も使われます。
上が、Window_Help
。
中央のウィンドウが、Window_BattleSkill
。
下は、Window_ActorCommand
、Window_BattleStatus
。
回復など味方を選択する必要がある場合、左に Window_BattleActor
が出てきます。
これ、素直にステータス表示と同じ場所に表示したほうが良かったんじゃないかなー。せめて下のステータス表示は消したほうが良かったんじゃないかなー、と思います。
上が、Window_Help
。
中央のウィンドウが、Window_BattleItem
。
下は、Window_ActorCommand
、Window_BattleStatus
。
上の枠なしのやつが、Window_BattleLog
。
こういう戦闘状態の表示の仕方、ちょっと珍しい気がするんですが、なんか有名RPGでやってましたっけ?
大抵は使ったスキルやアイテムの名前が出るくらいで、結果はアニメーションや敵・味方に直接数字が表示されることで表されていると思います。
RPGツクールMVの場合、この戦闘ログと敵の画像の部分とにダメージ表示がされ、なんとも不思議な状態になってます。片方でいいでしょ。
オンラインゲームでログが出てくるのは珍しくないけど、1行動ごとにログが消されるという動きは、見た記憶がありません。
と思って調べてみたらドラゴンクエストのⅡ〜Ⅵぐらいまでがやってました。
Scene_Debug
テストプレイ中にF9キーを押して出てくるデバッグウィンドウです。
左が、Window_DebugRange
。
右上が、Window_DebugEdit
。
右下が、Window_Base
。
ちょっと意外ですが、右下は Window_Help
じゃないんですね。
よく考えたら Window_Help
は横幅いっぱいのウィンドウなので、ここには使えませんね。
まとめなど
あと画像出してない Window_MapName
と Window_ScrollText
については、特に画像出さなくてもわかりますね。
機能も情報表示ウィンドウを調べてみた のページで調べてますし。
戦闘は真面目に作り込もうとすると、全とっかえが発生するパートかと思います。
ので、汎用的なシステムにしようとせずに、シンプルだけど使い勝手のいいパーツを提供する、というノリで作って欲しかったなー。
でも、かなり多くのRPGツクールMV作品で、戦闘シーンのUIはバッキバキにカスタマイズされてて、びっくりです!
そこで結論。
書き換えづらそうなのに、みんなよく頑張るな!!