#****************************************************************************** # # * コマンドウィンドウ # # -------------------------------------------------------------------------- # バージョン : 1.0.0 # 対 応 : RPGツクールVX Ace : RGSS3 # 制 作 者 : CACAO # 配 布 元 : http://cacaosoft.web.fc2.com/ # -------------------------------------------------------------------------- # == 概 要 == # # : ウィンドウをベースとしたメニュー項目です。 # # -------------------------------------------------------------------------- # == 注意事項 == # # ※ このスクリプトの動作には、Custom Menu Base が必要です。 # ※ 項目の設定は、Custom Menu Base で行ってください。 # # #****************************************************************************** #============================================================================== # ◆ 設定項目 #============================================================================== module CAO::CM::Command #-------------------------------------------------------------------------- # ◇ ウィンドウの位置・サイズ #-------------------------------------------------------------------------- # 縦幅を nil にすると項目数に合わせます。 #-------------------------------------------------------------------------- WINDOW_X = 0 # x座標 WINDOW_Y = 36 # y座標 WINDOW_W = 640 # 横幅 WINDOW_H = 72 # 縦幅 #-------------------------------------------------------------------------- # ◇ 項目を横に並べる数 #-------------------------------------------------------------------------- COLUMN_MAX = 4 #-------------------------------------------------------------------------- # ◇ 横に項目が並ぶときの空白の幅 #-------------------------------------------------------------------------- SPACING = 8 #-------------------------------------------------------------------------- # ◇ 項目の表示位置 #-------------------------------------------------------------------------- # value : アラインメント (0..左揃え、1..中央揃え、2..右揃え) #-------------------------------------------------------------------------- ALIGNMENT = 1 #-------------------------------------------------------------------------- # ◇ ウィンドウの可視状態 #-------------------------------------------------------------------------- VISIBLE_BACKWINDOW = false end #/////////////////////////////////////////////////////////////////////////////# # # # 下記のスクリプトを変更する必要はありません。 # # # #/////////////////////////////////////////////////////////////////////////////# class Window_MenuMainCommand < Window_CustomMenuCommand include CAO::CM::Command #-------------------------------------------------------------------------- # ● オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super(:main) self.x = WINDOW_X self.y = WINDOW_Y self.opacity = VISIBLE_BACKWINDOW ? 255 : 0 end #-------------------------------------------------------------------------- # ● ウィンドウ幅の取得 #-------------------------------------------------------------------------- def window_width return WINDOW_W end #-------------------------------------------------------------------------- # ● ウィンドウ高さの取得 #-------------------------------------------------------------------------- def window_height WINDOW_H || fitting_height(row_max) end #-------------------------------------------------------------------------- # ● 桁数の取得 #-------------------------------------------------------------------------- def col_max return (COLUMN_MAX < 0) ? item_max : COLUMN_MAX end #-------------------------------------------------------------------------- # ● 横に項目が並ぶときの空白の幅を取得 #-------------------------------------------------------------------------- def spacing return SPACING end #-------------------------------------------------------------------------- # ● アライメントの取得 #-------------------------------------------------------------------------- def alignment return ALIGNMENT end end class Scene_Menu #-------------------------------------------------------------------------- # ○ コマンドウィンドウの作成 #-------------------------------------------------------------------------- def create_command_window @command_window = Window_MenuMainCommand.new @command_window.set_handler(:cancel, method(:return_scene)) @command_window.set_handlers(self) end #-------------------------------------------------------------------------- # ○ #-------------------------------------------------------------------------- alias _cao_cm_command_check_refresh_window check_refresh_window def check_refresh_window(command) _cao_cm_command_check_refresh_window(command) @command_window.refresh if command.refresh.include?(:command) end end