#=========================================================================== # ◆ A1 Scripts ◆ # バトルネームウィンドウ(RGSS3) # # バージョン : 1.00 (2012/01/19) # 作者 : A1 # URL     : http://a1tktk.web.fc2.com/ #--------------------------------------------------------------------------- # 機能: # ・戦闘中のアクターコマンドにアクター名を表示するネームウィンドウを表示します #--------------------------------------------------------------------------- # 更新履歴   :2012/01/18 Ver1.00 リリース #--------------------------------------------------------------------------- # 設置場所 # A1バトル共通スクリプト以下 # ネームウィンドウスクリプト以下 # (サイドビュースクリプト以下) # # 必要スクリプト # A1バトル共通スクリプト # ネームウィンドウスクリプト #--------------------------------------------------------------------------- # 使い方 # 導入することで適用されます #============================================================================== $imported ||= {} if $imported["A1_BattleCommonScript"] && $imported["A1_Name_Window"] $imported["A1_ChangeMember"] = true old_common_script("バトルネームウィンドウ", "3.90") if common_version < 3.90 #============================================================================== # ■ Window_NameActor #============================================================================== class Window_BattleActorName < Window_FaceName #-------------------------------------------------------------------------- # ★ オブジェクト初期化(サイドビューバトルの再定義) #-------------------------------------------------------------------------- def initialize(main_window) @text = "" @main_window = main_window @main_viewport = main_window.viewport super(@text, @main_window.z + 10) self.openness = 0 end #-------------------------------------------------------------------------- # ★ リフレッシュ(サイドビューバトルの再定義) #-------------------------------------------------------------------------- def refresh end #-------------------------------------------------------------------------- # ★ テキストの設定(サイドビューバトルの再定義) #-------------------------------------------------------------------------- def text=(str) @text = str @name_sprite.bitmap.dispose setup_sprite_pos end #-------------------------------------------------------------------------- # ○ スプライト位置のセットアップ #-------------------------------------------------------------------------- def setup_sprite_pos return if @main_viewport self.x = @main_window.x + (@main_window.width - self.width) / 1.5 self.y = @main_window.y + @main_window.height - 12 setup_name_window(@text) setup_name_sprite_pos end #-------------------------------------------------------------------------- # ○ ネームスプライト位置のセットアップ #-------------------------------------------------------------------------- def setup_name_sprite_pos @name_sprite.x = self.x + self.width / 2 @name_sprite.y = self.y + self.height / 2 end #-------------------------------------------------------------------------- # ○ フレーム更新 #-------------------------------------------------------------------------- def update super update_pos if @main_viewport end #-------------------------------------------------------------------------- # ○ クローズ #-------------------------------------------------------------------------- def close super @name_sprite.bitmap.dispose end #-------------------------------------------------------------------------- # ○ オープン #-------------------------------------------------------------------------- def open super setup_name_window(@text) setup_sprite_pos end #-------------------------------------------------------------------------- # ○ 位置の更新 #-------------------------------------------------------------------------- def update_pos self.x = @main_window.x + (@main_window.width - self.width) / 1.5 - @main_viewport.ox self.y = @main_viewport.rect.y - 16 self.visible = @main_viewport.rect.x + @main_viewport.rect.width > self.x setup_name_sprite_pos @name_sprite.visible = self.visible end end #============================================================================== # ■ Scene_Battle #------------------------------------------------------------------------------ #  バトル画面の処理を行うクラスです。 #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ★ アクターネームウィンドウ作成(サイドビューバトルの再定義) #-------------------------------------------------------------------------- def create_actor_name_window @actor_name_window = Window_BattleActorName.new(@actor_command_window) end #============================================================================== # ■ サイドビューバトル非インポート時処理 #============================================================================== unless $imported["A1_SideViewBattle"] #-------------------------------------------------------------------------- # ☆ 全ウィンドウの作成 #-------------------------------------------------------------------------- alias a1_batter_name_window_sb_create_all_windows create_all_windows def create_all_windows a1_batter_name_window_sb_create_all_windows create_actor_name_window end #-------------------------------------------------------------------------- # ☆ アクターコマンドウィンドウがオープンした時の処理 #-------------------------------------------------------------------------- alias a1_batter_name_window_sb_actor_command_open actor_command_open def actor_command_open a1_batter_name_window_sb_actor_command_open @actor_name_window.open end #-------------------------------------------------------------------------- # ☆ アクターコマンドウィンドウがクローズした時の処理 #-------------------------------------------------------------------------- alias a1_batter_name_window_sb_actor_command_close actor_command_close def actor_command_close a1_batter_name_window_sb_actor_command_close @actor_name_window.close end #-------------------------------------------------------------------------- # ☆ アクターコマンドウィンドウのセットアップ時の処理 #-------------------------------------------------------------------------- alias a1_batter_name_window_sb_actor_command_setup actor_command_setup def actor_command_setup(actor) a1_batter_name_window_sb_actor_command_setup(actor) @actor_name_window.text = actor.name end;end end end