#============================================================================== # ★ BattleBackEx 1.0 by USK #------------------------------------------------------------------------------ # 戦闘背景をスクロール可能にします。 #============================================================================== =begin 戦闘背景に用いる画像ファイルの名前に(x軸方向の速度,y軸方向の速度)と付け足すと その画像がスクロールするようになります。 例 battkeback(-2,1.5).png =end #============================================================================== # ■ Spriteset_Battle #============================================================================== class Spriteset_Battle #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- alias :usk_pb_create_battleback1 :create_battleback1 def create_battleback1 if battleback1_name @back1_sprite = Plane_Battle.new(@viewport1, battleback1_name) @back1_sprite.bitmap = battleback1_bitmap @back1_sprite.z = 0 else usk_pb_create_battleback1 end end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- alias :usk_pb_create_battleback2 :create_battleback2 def create_battleback2 if battleback2_name @back2_sprite = Plane_Battle.new(@viewport1, battleback2_name) @back2_sprite.bitmap = battleback2_bitmap @back2_sprite.z = 1 else usk_pb_create_battleback2 end end end #============================================================================== # ■ Plane_Battle #============================================================================== class Plane_Battle < Plane attr_accessor :x, :y #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def initialize(viewport, fname = "") super(viewport) @dx = @dy = 0 if fname =~ /\(([-\.\d]+),([-\.\d]+)\)/ @dx, @dy = $1.to_f, $2.to_f end end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def bitmap=(bitmap) super(bitmap) @ox = (bitmap.width - Graphics.width) >> 1 @oy = (bitmap.height - Graphics.height) >> 1 end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def update @flag = true self.ox = @ox = (@ox + @dx) % bitmap.width self.oy = @oy = (@oy + @dy) % bitmap.height @flag = false end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def ox=(ox) super(ox) if @flag end #-------------------------------------------------------------------------- # ● #-------------------------------------------------------------------------- def oy=(oy) super(oy) if @flag end end