#=========================================================================== # ◆ A1 Scripts ◆ # キャラクターフラッシュ(RGSS3) # # バージョン : 1.10 (2012/01/02) # 作者 : A1 # URL     : http://a1tktk.web.fc2.com/ #--------------------------------------------------------------------------- # 機能: # ・イベントをフラッシュさせます #--------------------------------------------------------------------------- # 更新履歴   :2011/12/31 Ver1.00 リリース #    :2012/01/02 Ver1.10 A1共通スクリプトVer3.30対応 #--------------------------------------------------------------------------- # 設置場所 #  A1共通スクリプトより下 # # 必要スクリプト # A1共通スクリプトVer3.30以上 #--------------------------------------------------------------------------- # 使い方 # イベントコマンド「注釈」に記述 # # キャラクターフラッシュ EventID,r,g,b,a,d # キャラクターフラッシュ EventID-EventID,r,g,b,a,d # # EventID:イベントID # r :フラッシュさせる色(赤) # g :フラッシュさせる色(緑) # b :フラッシュさせる色(青) # a :フラッシュさせる透明度 # d :フラッシュさせる時間(フレーム) # # 例:キャラクターフラッシュ 10,255,255,255,128,10 # イベントID10のイベントの色を、白色半透明に10フレームの間変化させます # # 例:キャラクターフラッシュ 10-15,255,255,255,128,10 # イベントID10から15のイベントの色を、白色半透明に10フレームの間変化させます #============================================================================== $imported ||= {} $imported["A1_CharacterFlash"] = true if $imported["A1_Common_Script"] old_common_script("キャラクターフラッシュ", "3.30") if common_version < 3.30 #============================================================================== # ■ Game_CharacterBase #------------------------------------------------------------------------------ #  キャラクターを扱う基本のクラスです。全てのキャラクターに共通する、座標やグ # ラフィックなどの基本的な情報を保持します。 #============================================================================== class Game_CharacterBase #-------------------------------------------------------------------------- # ○ 公開インスタンス変数 #-------------------------------------------------------------------------- attr_accessor :flash_color attr_accessor :flash_duration #-------------------------------------------------------------------------- # ☆ 公開メンバ変数の初期化 #-------------------------------------------------------------------------- alias a1_character_flash_gc_init_public_members init_public_members def init_public_members a1_character_flash_gc_init_public_members @flash_color = nil @flash_duration = 0 end #-------------------------------------------------------------------------- # ○ フラッシュ時間 #-------------------------------------------------------------------------- def flash_duration @flash_duration ||= 0 return @flash_duration end end #============================================================================== # ■ Sprite_Character #------------------------------------------------------------------------------ #  キャラクター表示用のスプライトです。Game_Character クラスのインスタンスを # 監視し、スプライトの状態を自動的に変化させます。 #============================================================================== class Sprite_Character < Sprite_Base #-------------------------------------------------------------------------- # ☆ フレーム更新 #-------------------------------------------------------------------------- alias a1_character_flash_sc_update update def update a1_character_flash_sc_update update_flash end #-------------------------------------------------------------------------- # ○ フラッシュの更新 #-------------------------------------------------------------------------- def update_flash return if @character.flash_duration == 0 @character.flash_duration -= 1 if @character.flash_duration > 0 self.flash(@character.flash_color, 1) end end #============================================================================== # ■ A1_System::CommonModule #============================================================================== class A1_System::CommonModule #-------------------------------------------------------------------------- # ☆ 注釈コマンド定義 #-------------------------------------------------------------------------- alias a1_character_flash_define_command define_command def define_command a1_character_flash_define_command @cmd_108["キャラクターフラッシュ"] = :character_flash end end #============================================================================== # ■ Game_Interpreter #------------------------------------------------------------------------------ #  イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、 # Game_Troop クラス、Game_Event クラスの内部で使用されます。 #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ○ キャラクターフラッシュ #-------------------------------------------------------------------------- def character_flash(params) return ($1.to_i..$2.to_i).each {|id| proc_character_flash(id, params) } if params[0] =~ /(\d+)-(\d+)/ proc_character_flash(params[0].to_i, params) end #-------------------------------------------------------------------------- # ○ キャラクターフラッシュの実行 #-------------------------------------------------------------------------- def proc_character_flash(event_id, params) character = get_character(event_id) return unless character flash_color = Color.new(params[1].to_i, params[2].to_i, params[3].to_i, params[4].to_i) character.flash_color = flash_color character.flash_duration = params[5].to_i end end end