タイトルとメニューのウィンドウを調べてみた
ウィンドウ関連のクラスは沢山あって、どれが実際目にするどのウィンドウにあたるのか、なかなかストンと理解できません。
ということでスクリーンショットで綴る、魅惑のウィンドウの旅。
今回はタイトルとメニュー関連をシーンを基本にたどっていきましょう。
シーンの継承関係
ウィンドウを細かく調べる前に、シーン全体を把握しておきましょう。
次のような 継承関係になってます。
ウィンドウに比べれば少ないとはいえ、結構量があります。
今回はこのうち、Scene_Title
、Scene_Load
( Scene_Save
)、Scene_Options
、Scene_Menu
、Scene_Item
、Scene_Skill
、Scene_Equip
、Scene_Status
、Scene_GameEnd
のウィンドウを調べていきたいと思います。
Scene_Title
このシーンは Window_TitleCommand の1枚だけ。
最初に登場するウィンドウですね。
標準の TitleCommandPosition.js プラグインで位置を調整できます。めっちゃシンプルなプラグインなんで、プラグイン作りの参考にできますね!
ということに最近気づきました…もう、自分で同等のもの作れるのに、気づいたの最近…。
[コンティニュー] Scene_Load
上が、Window_Help
。
下が、Window_SavefileList。
Window_TitleCommand
にあるのは、[コンティニュー]ですけど、通常メニューの[セーブ]やイベントコマンドの[セーブ画面を開く]と使ってるウィンドウは同じ。
セーブの方は Scene_File
Scene_Save
の継承関係のシーンで扱います。
その際の Window_SavefileList
のモードを変えるのは setMode()
メソッド。
[オプション] Scene_Options
Window_Options
の1枚しかないシーン。
なんか、もったいない気がするというかなんというか。
オプションを呼び出すコマンドメニューで、タイトルだけでなく通常メニューからも呼ばれます。
オープン・クローズのアニメーションがないんですよね。
後、クリック・決定で設定が変わる他、方向キー左右でも切り替えられるのが、他にない感じ。
Scene_Menu
左上のコマンドウィンドウが Window_MenuCommand
です。
右の顔とステータスが並んでるところが Window_MenuStatus
。
そして左下の所持金表示が Window_Gold
Window_MenuStatus
はコマンド選択直後のキャラ選択に使われ、setFormationMode()
メソッドで設定して、[並び替え] でも使われます。
Scene_MenuBase
Scene_Equip
の継承関係にあります。
[アイテム] Scene_Item
一番上が、Window_Help
。
真ん中が、Window_ItemCategory
。
下が、Window_ItemList
。
右側の対象アクターを選択しているのが Window_MenuActor
です。見た目は Window_MenuStatus
と全く一緒ですね。
それもそのはず、 Window_MenuStatus
Window_MenuActor
という継承関係にあるのです。
細かいことですが、このウィンドウの左側の角丸の部分の重ね合わせが雑なのが気になります。
といって、半透明のウィンドウをそのまま重ねると後ろの情報がうるさいですし、できれば綺麗に丸く切り取るか、ウィンドウを重ねない方法を考えて欲しかったものです。
[スキル] Scene_Skill
[スキル]コマンド選択直後は Window_MenuStatus
でキャラ選択されます。
一番上が、Window_Help
。
中央左が、Window_SkillType
。
中央右が、Window_SkillStatus
。
下が、Window_SkillList
。
Scene_Item
と同様に対象アクターを選択する Window_MenuActor
があります。
[装備] Scene_Equip
[装備]コマンド選択直後は Window_MenuStatus
でキャラ選択されます。
一番上が、Window_Help
。
中央左が、Window_EquipStatus
。
中央右の上が、Window_EquipCommand
。
中央右の下が、Window_EquipSlot
。
下が、Window_EquipItem
。
かなり複雑にウィンドウが組み合わさってますね。
ウィンドウとは直接関係ないですが、リストの最後の空項目を選択すると装備を外す、というUIはかなりひどいと思います。
絶対、気づかない人いるでしょ。特にマウスやタッチパネルでプレイしてる人。
[ステータス] Scene_Status
[装備]コマンド選択直後は Window_MenuStatus
でキャラ選択されます。
見ての通り、 Window_Status
だけですね。
Scene_MenuBase
の機能、ほとんど使ってない気がします。
[ゲーム終了] Scene_GameEnd
Window_GameEnd
だけのシンプルなシーン。
なんかここ、ウィンドウを開くアニメーションするんですよね。オプションは開閉ともにやらないのに、中途半端!
ウィンドウとは直接関係ないですけど、ここのコマンド名すごくわかりづらいですね。
[タイトルへ]と[やめる]って出てきて、ふたつともゲームやめるコマンドで、ゲームを続けるにはどうしたらいいの? みたいな。
意味が読めなくて、キャンセルボタン押すのもためらわれる感じすらします。
個人的には[やめる]は[ゲームを続ける]にしたほうがいいんじゃないかと思います。
そもそもこのメニュー必要なのか? というのも感じます。必要なのはロードじゃないのか?
ちなみに
どーでもいいですが、テレーゼを僧侶に、マーシャを戦士に設定してますね…なんでやねん。
ルキウスは魔術師でも、なんら違和感ないです。
次々と改善点が見つかって、どうにかしたくなりますが、大きくメニューのフローを変える必要があったりして、手をつけるのは大仕事になりそうです。
なお、公式から出ているMADOというツールは、フレームの入れ替えができるだけで、特にUIのフローの変更はできないらしいです。
公式のツールより、トリアコンタンさんが作った SceneCustomMenu.js というプラグインを使うと色々できそうなので、じっくり取り組みたい。
そこで結論。
やはり、画像と結びつくと理解が進む(気がする)