#============================================================================== # ■ 戦闘中の背景変更 #---------------------------------------------------------------------------- # 2000にはあったがVXにはなかった機能 # ラスボスとの戦闘の際にイベントで背景を変えたい!などに使える # バトルのイベントでスクリプト「change_battleback(System内のファイル名)」と入力 # # *月の下の宿 # URL:http://gekkasou.shiteyattari.com/ #============================================================================== module An_BBackCh #背景を変更する際のトランジション Transition = "Graphics/System/TransitionA" #トランジションにかける時間(60フレーム/秒) TranWait = 10 end #============================================================================== # ■ Game_Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● バトルバックの変更命令 #-------------------------------------------------------------------------- def change_battleback(source) if $game_temp.in_battle Graphics.freeze $scene.change_battleback(source) Graphics.transition(An_BBackCh::TranWait, An_BBackCh::Transition, 80) end end end #============================================================================== # ■ Spriteset_Battle #============================================================================== class Spriteset_Battle #-------------------------------------------------------------------------- # ● バトルバックスプライトの作成 #-------------------------------------------------------------------------- alias an_bbackch_create_battleback create_battleback def create_battleback(backsource = nil) if backsource.nil? an_bbackch_create_battleback return end source = backsource bitmap = Bitmap.new(544, 416) bitmap.stretch_blt(bitmap.rect, source, source.rect) @battleback_sprite = Sprite.new(@viewport1) @battleback_sprite.bitmap = bitmap end #-------------------------------------------------------------------------- # ● バトルバックの変更(Interpreter→Battle→Sprite) #-------------------------------------------------------------------------- def change_battleback(source) @battleback_sprite.dispose create_battleback(Cache.system(source)) end end #============================================================================== # ■ Scene_Battle #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # ● バトルバックの変更命令 #-------------------------------------------------------------------------- def change_battleback(source) @spriteset.change_battleback(source) end end