Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if true
- #==============================================================================
- # +++ MOG - Title Multibackground - [Stand Alone Series] (V1.1) +++
- #==============================================================================
- # By Moghunter
- # https://atelierrgss.wordpress.com/
- #==============================================================================
- # Adiciona múltiplas camadas animadas na tela de titulo.
- #==============================================================================
- module MOG_TITLE_BACKGROUND
- BACKGROUND_EFFECT = []
- #=============================================================================
- #
- # BACKGROUND_EFFECT[ A ] = [B , C , D, E ,F]
- #
- # A - LAYER ID
- # B - EFFECT (0 - Scrolling 1 - Waving)
- # C - SPEED X / Wave Power
- # D - SPEED Y / Wave Speed
- # E - Z-axis
- # F - FILE NAME
- #
- #
- # EX
- #
- # BACKGROUND_EFFECT[0] = [0,4,1,0,"Background_0"]
- # BACKGROUND_EFFECT[1] = [1,5,100,10,"Background_1"]
- # BACKGROUND_EFFECT[2] = [0,20,40,1,"Background_2"]
- # BACKGROUND_EFFECT[3] = [1,10,0,5,"Background_3"]
- # BACKGROUND_EFFECT[4] = [1,5,20,3,"Background_4"]
- # BACKGROUND_EFFECT[5] = [0,0,10,20,"Background_5"]
- # ... BACKGROUND_EFFECT[99] = [1,50,20,32,,"Background_99"]
- #
- #=============================================================================
- BACKGROUND_EFFECT[0] = [0,1,0,0,"Background_0"]
- BACKGROUND_EFFECT[1] = [1,10,10,10,"Background_1"]
- BACKGROUND_EFFECT[2] = [0,0,0,100,"Background_2"]
- end
- $imported = {} if $imported.nil?
- $imported[:mog_title_multibackground] = true
- #==============================================================================
- # ■ Scene Tittle
- #==============================================================================
- class Scene_Title < Scene_Base
- #--------------------------------------------------------------------------
- # ● Dispose Background
- #--------------------------------------------------------------------------
- alias mog_t_background_dispose_background dispose_background
- def dispose_background
- mog_t_background_dispose_background
- @sprite_ex_sprite.each {|sprite| next if sprite == nil ; sprite.bitmap.dispose ; sprite.dispose}
- end
- #--------------------------------------------------------------------------
- # ● Create Background
- #--------------------------------------------------------------------------
- def create_background
- @bb_data = [MOG_TITLE_BACKGROUND::BACKGROUND_EFFECT[0],MOG_TITLE_BACKGROUND::BACKGROUND_EFFECT[1]]
- @bb_data[0] = [0,0,0,0] if @bb_data[0] == nil ; @bb_data[1] = [0,0,0,1] if @bb_data[1] == nil
- if @bb_data[0][0] == 0
- @sprite1 = Plane.new ; @sprite1.bitmap = bb_bitmap(0,@bb_data[0])
- else
- @sprite1 = Sprite.new ; prepare_wave_effect(@sprite1,0,@bb_data[0])
- end
- @sprite1.z = @bb_data[0][3]
- if @bb_data[1][0] == 0
- @sprite2 = Plane.new ; @sprite2.bitmap = bb_bitmap(1,@bb_data[1])
- else
- @sprite2 = Sprite.new ; prepare_wave_effect(@sprite2,1,@bb_data[1])
- end
- @sprite2.z = @bb_data[1][3]
- @sprite_ex_sprite = []
- for i in 0...100 ; @bb_data.push(MOG_TITLE_BACKGROUND::BACKGROUND_EFFECT[i + 2]) ; end
- @bb_data.each_with_index do |data, i|
- next if (data == nil or i < 2)
- if data[0] == 0
- @sprite_ex_sprite[i] = Plane.new ; @sprite_ex_sprite[i].bitmap = bb_bitmap(i,data)
- else
- @sprite_ex_sprite[i] = Sprite.new ; prepare_wave_effect(@sprite_ex_sprite[i],i,data)
- end
- @sprite_ex_sprite[i].z = data[3]
- end
- end
- #--------------------------------------------------------------------------
- # ● Prepare Wave Effect
- #--------------------------------------------------------------------------
- def prepare_wave_effect(sprite,index,data)
- range = (@bb_data[index][1] + 1) * 5 ; range = 500 if range > 500
- sprite.bitmap = Bitmap.new(Graphics.width + (range * 2),Graphics.height)
- sprite.bitmap.stretch_blt(sprite.bitmap.rect, bb_bitmap(index,data[4]), bb_bitmap(index).rect)
- center_sprite(sprite)
- wave_effect_s(sprite,@bb_data[index])
- end
- #--------------------------------------------------------------------------
- # ● BB Bitmap
- #--------------------------------------------------------------------------
- def bb_bitmap(index,data)
- return Cache.title1(data[4].to_s)
- end
- #--------------------------------------------------------------------------
- # ● Wave Effect S
- #--------------------------------------------------------------------------
- def wave_effect_s(sprite,data)
- sprite.wave_amp = 1 + data[1] ; sprite.wave_speed = 100 + 100 * data[2]
- sprite.wave_length = sprite.bitmap.width ; sprite.x -= sprite.wave_amp / 2
- end
- #--------------------------------------------------------------------------
- # ● Update
- #--------------------------------------------------------------------------
- alias mog_t_background_update update
- def update
- mog_t_background_update
- scroll_bb(@sprite1,@bb_data[0]) ; scroll_bb(@sprite2,@bb_data[1])
- @bb_data.each_with_index do |data, i| ; next if (data == nil or i < 2)
- scroll_bb(@sprite_ex_sprite[i],data) ; end
- end
- #--------------------------------------------------------------------------
- # ● Scroll BB
- #--------------------------------------------------------------------------
- def scroll_bb(sprite,data)
- if data[0] == 0 ; sprite.ox += data[1] ; sprite.oy += data[2]
- else ; sprite.update ; end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement