こんにちは、今日はRPGツクールMVでウィンドウの表示を司るウィンドウクラスについてまとめていきます。
ウィンドウクラスはjs/rpg_windows.jsに定義されており、ゲーム内で表示されるウィンドウは全てここのクラスによって動作が決定しています。
プラグインで独自のウィンドウを表示したい場合も、これらウィンドウクラスを用いて、またはベースに使用可能です。
Table of Contents
確認環境
RPGツクールMV Version 1.6.2
ウィンドウクラス一覧
以下がウィンドウを表示する際に使用されるクラスです。
| ウィンドウクラス名 | 継承元 |
| Window_Base | |
| Window_Selectable | Window_Base |
| Window_Command | Window_Base > Window_Selectable |
| Window_HorzCommand | Window_Base > Window_Selectable > Window_Command |
| Window_Help | Window_Base |
| Window_Gold | Window_Base |
| Window_MenuCommand | Window_Base > Window_Selectable > Window_Command |
| Window_MenuStatus | Window_Base > Window_Selectable |
| Window_MenuActor | Window_Base > Window_Selectable > Window_MenuStatus |
| Window_ItemCategory | Window_Base > Window_Selectable > Window_Command > Window_HorzCommand |
| Window_ItemList | Window_Base > Window_Selectable |
| Window_SkillType | Window_Base > Window_Selectable > Window_Command |
| Window_SkillStatus | Window_Base |
| Window_SkillList | Window_Base > Window_Selectable |
| Window_EquipStatus | Window_Base |
| Window_EquipCommand | Window_Base > Window_Selectable > Window_Command > Window_HorzCommand |
| Window_EquipSlot | Window_Base > Window_Selectable |
| Window_EquipItem | Window_Base > Window_Selectable > Window_ItemList |
| Window_Status | Window_Base > Window_Selectable |
| Window_Options | Window_Base > Window_Selectable > Window_Command |
| Window_SavefileList | Window_Base > Window_Selectable |
| Window_ShopCommand | Window_Base > Window_Selectable > Window_Command > Window_HorzCommand |
| Window_ShopBuy | Window_Base > Window_Selectable |
| Window_ShopSell | Window_Base > Window_Selectable > Window_ItemList |
| Window_ShopNumber | Window_Base > Window_Selectable |
| Window_ShopStatus | Window_Base |
| Window_NameEdit | Window_Base |
| Window_NameInput | Window_Base > Window_Selectable |
| Window_ChoiceList | Window_Base > Window_Selectable > Window_Command |
| Window_NumberInput | Window_Base > Window_Selectable |
| Window_EventItem | Window_Base > Window_Selectable > Window_ItemList |
| Window_Message | Window_Base |
| Window_ScrollText | Window_Base |
| Window_MapName | Window_Base |
| Window_BattleLog | Window_Base > Window_Selectable |
| Window_PartyCommand | Window_Base > Window_Selectable > Window_Command |
| Window_ActorCommand | Window_Base > Window_Selectable > Window_Command |
| Window_BattleStatus | Window_Base > Window_Selectable |
| Window_BattleActor | Window_Base > Window_Selectable > Window_BattleStatus |
| Window_BattleEnemy | Window_Base > Window_Selectable |
| Window_BattleSkill | Window_Base > Window_Selectable > Window_SkillList |
| Window_BattleItem | Window_Base > Window_Selectable > Window_ItemList |
| Window_TitleCommand | Window_Base > Window_Selectable > Window_Command |
| Window_GameEnd | Window_Base > Window_Selectable > Window_Command |
| Window_DebugRange | Window_Base > Window_Selectable |
| Window_DebugEdit | Window_Base > Window_Selectable |
ウィンドウクラスが使用されている箇所の探し方
シーンの処理が記述されているjs/rpg_scenes.jsで「new ウィンドウクラス名」のような形で検索するとそれぞれのウィンドウが使用されている箇所が確認できます。
例えばWindow_Baseは主にウィンドウを表示するのみで機能を持たないクラスで他のクラスのベースになっているものですが、「new Window_Base」で検索すると、Scene_Shopでショップ画面を開いた時に下部に表示されているダミーのウィンドウ、Scene_Debugでデバッグ画面のヘルプウィンドウに使用されていることがわかります。
new でウィンドウクラスを生成した後、addWindow関数でそのシーンにそのウィンドウを追加しています。
まとめ
今日はRPGツクールMVでウィンドウの表示に使用されているクラスについてまとめました。
プラグインで独自のウィンドウを表示する際に、そのウィンドウと同様の機能を持ったクラスがないか確認してみてください。
ここまでお読みいただきありがとうございました。