# ▼▲▼ No122. ターゲットネームプレート ▼▲▼ # # update -/-/- # #============================================================================== # カスタマイズポイント #============================================================================== # □ Window_TargetName #------------------------------------------------------------------------------ #  敵を選択するときに名前を表示する小型のウィンドウです。 #============================================================================== class Window_TargetName < Window_Help #-------------------------------------------------------------------------- # ○ オブジェクト初期化 #-------------------------------------------------------------------------- def initialize super self.width = 192 self.height = 64 self.contents = Bitmap.new(width - 32, height - 32) @base_window = Window_Base.new(x, y+16, width, 32) @base_window.opacity = 160 self.opacity = 0 self.visible = false end #-------------------------------------------------------------------------- # ○ X 座標 #-------------------------------------------------------------------------- def x=(n) super @base_window.x = n unless @base_window.nil? end #-------------------------------------------------------------------------- # ○ Y 座標 #-------------------------------------------------------------------------- def y=(n) super @base_window.y = n + 16 unless @base_window.nil? end #-------------------------------------------------------------------------- # ○ 可視状態 #-------------------------------------------------------------------------- def visible=(b) super @base_window.visible = b unless @base_window.nil? end #-------------------------------------------------------------------------- # ○ 開放 #-------------------------------------------------------------------------- def dispose @base_window.dispose super end end #============================================================================== # --- エネミー バトラーグラフィックのサイズ取得機能 --- #============================================================================== class Game_Enemy < Game_Battler def battler_rect bitmap = RPG::Cache.battler(@battler_name, @battler_hue) return Rect.new(self.screen_x, self.screen_y, bitmap.width, bitmap.height) end end #============================================================================== # ■ Arrow_Enemy #============================================================================== class Arrow_Enemy < Arrow_Base #-------------------------------------------------------------------------- # ● フレーム更新 #-------------------------------------------------------------------------- alias xrxs_bp22_update update def update # 呼び戻す xrxs_bp22_update # 位置更新 if @help_window != nil rect = self.enemy.battler_rect @help_window.x = [ 0 + rect.x - @help_window.width/2, 4].max @help_window.y = [-48 + rect.y - rect.height , 4].max end end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle #-------------------------------------------------------------------------- # ● メイン処理 #-------------------------------------------------------------------------- alias xrxs_bp22_main main def main # ウィンドウを作成 @targetname_window = Window_TargetName.new # 呼び戻す xrxs_bp22_main # ウィンドウを開放 @targetname_window.dispose end #-------------------------------------------------------------------------- # ● エネミー選択開始 #-------------------------------------------------------------------------- alias xrxs_bp22_start_enemy_select start_enemy_select def start_enemy_select # 呼び戻す xrxs_bp22_start_enemy_select # エネミーアローがない場合は終了 return if @enemy_arrow == nil # ヘルプウィンドウを関連付け @enemy_arrow.help_window = @targetname_window @enemy_arrow.update # ヘルプウィンドウを隠す @help_window.visible = false end #-------------------------------------------------------------------------- # ● エネミー選択終了 #-------------------------------------------------------------------------- alias xrxs_bp22_end_enemy_select end_enemy_select def end_enemy_select # 呼び戻す xrxs_bp22_end_enemy_select # 不可視化 @targetname_window.visible = false end end