#============================================================================== # ■ RGSS3 選択中のアイテム・スキル表示ウィンドウ Ver1.01 by 星潟 #------------------------------------------------------------------------------ # アイテム・スキル画面において # 現在選択中のアイテム・スキルを表示する為のウィンドウを表示します。 # アイテム・スキル対象指定ウィンドウ調整との併用が良いかもしれません。 #============================================================================== module SelectItemDisplayWindow #X座標のタイプを表示 #0で常時右寄せ #1で常時左寄せ(X座標0) #2で常時中央寄せ #3でアイテム・スキルウィンドウの選択項目が #左側なら右寄せ、右側なら左寄せ XType = 1 #XTypeで対応させた値に対しての補正 XAdd = 0 #Y座標を指定 #0で常時下寄せ #1で常時上寄せ(Y座標0) #2で常時中央寄せ YType = 1 #YTypeで対応させた値に対しての補正 YAdd = 0 #Z座標の直接指定値 Z = 200 #ウィンドウ背景の不透明度を指定 BO = 255 #ウィンドウの幅を指定 Width = 160 #ウィンドウの高さを指定 Height = 48 end class Scene_ItemBase < Scene_MenuBase #-------------------------------------------------------------------------- # サブウィンドウの表示 #-------------------------------------------------------------------------- alias show_sub_window_select_item_display_window show_sub_window def show_sub_window(window) show_sub_window_select_item_display_window(window) return unless @select_item_display_window return unless window.is_a?(Window_MenuActor) width_remain = Graphics.width - @select_item_display_window.width case SelectItemDisplayWindow::XType when 0 @select_item_display_window.x = Graphics.width - @select_item_display_window.width when 1 @select_item_display_window.x = 0 when 2 @select_item_display_window.x = (Graphics.width - @select_item_display_window.width) / 2 else @select_item_display_window.x = cursor_left? ? 0 : width_remain end @select_item_display_window.x += SelectItemDisplayWindow::XAdd case SelectItemDisplayWindow::YType when 0 @select_item_display_window.y = Graphics.height - @select_item_display_window.height when 1 @select_item_display_window.y = 0 else @select_item_display_window.y = (Graphics.height - @select_item_display_window.height) / 2 end @select_item_display_window.y += SelectItemDisplayWindow::YAdd @select_item_display_window.z = SelectItemDisplayWindow::Z @select_item_display_window.back_opacity = SelectItemDisplayWindow::BO @select_item_display_window.show.refresh end #-------------------------------------------------------------------------- # サブウィンドウの非表示 #-------------------------------------------------------------------------- alias hide_sub_window_select_item_display_window hide_sub_window def hide_sub_window(window) hide_sub_window_select_item_display_window(window) return unless @select_item_display_window @select_item_display_window.hide end def create_select_item_display_window @select_item_display_window = Window_SelectItemDisplay.new(@item_window) end #-------------------------------------------------------------------------- # アイテムの使用 #-------------------------------------------------------------------------- alias use_item_select_item_display_window use_item def use_item use_item_select_item_display_window @select_item_display_window.refresh if @select_item_display_window end end class Scene_Item < Scene_ItemBase #-------------------------------------------------------------------------- # 開始処理 #-------------------------------------------------------------------------- alias start_select_item_display_window start def start start_select_item_display_window create_select_item_display_window end end class Scene_Skill < Scene_ItemBase #-------------------------------------------------------------------------- # 開始処理 #-------------------------------------------------------------------------- alias start_select_item_display_window start def start start_select_item_display_window create_select_item_display_window end end class Window_SelectItemDisplay < Window_Base #-------------------------------------------------------------------------- # 初期化 #-------------------------------------------------------------------------- def initialize(parent_window) @parent_window = parent_window super(0,0,SelectItemDisplayWindow::Width,SelectItemDisplayWindow::Height) hide end #-------------------------------------------------------------------------- # リフレッシュ #-------------------------------------------------------------------------- def refresh item = @parent_window.item if item contents.clear draw_item_name(item,0,0,@parent_window.enable?(item),contents.width - 24) end end end