Код:
#================================================= =============================
# MOG VX - Battleback EX V1.0
#================================================= =============================
# By Moghunter
# http://www.atelier-rgss.com/
#
# ■ Sistema de cenário de batalha com múltiplas camadas e efeitos.
# -----------------------------------------------------------------------------
# NOTA - É preciso criar uma pasta com o nome. ( Battlebacks )
#
# Graphics\Battlebacks
#
# Deixe todas as imagens dentro desta pasta.
# -----------------------------------------------------------------------------
module MOG_BATTLEBACK_EX
#-------------------------------------------------------------------------------
# BATTLEBACK
# A=>["B",C]
#
# A -> ID do Mapa
# B -> Nome do Battleback
# C -> Ativar efeito Wave (modo leve).
#
#-------------------------------------------------------------------------------
BATTLEBACK = {
1=>["Grass",true],
2=>["Forest",true]
}
#-------------------------------------------------------------------------------
# BATTLEFLOOR
# A=>["B",C]
#
# A -> ID do Mapa
# B -> Nome do chão
# C -> Ativar efeito Wave (modo pesado).
#
#-------------------------------------------------------------------------------
BATTLEFLOOR = {
1=>["Grass_Floor",true],
2=>["Forest_Floor",true]
}
#-------------------------------------------------------------------------------
# PANORAMA
# A=>["B",C,D,E]
#
# A -> ID do Mapa
# B -> Nome do panorama.
# C -> Velocidade na horizontal. (X)
# D -> Velocidade na vertical. (Y)
#
#-------------------------------------------------------------------------------
PANORAMA = {
1=>["Grass_Panorama",2,1],
2=>["Forest_Panorama",2,0]
}
#-------------------------------------------------------------------------------
# FOG
# A=>["B",C,D,E,F]
#
# A -> ID do Mapa
# B -> Nome da neblina.
# C -> Opacidade
# D -> Tipo de Blending (0- Normal, 1-Add, 2-Sub )
# E -> Velocidade na horizontal. (X)
# F -> Velocidade na vertical. (Y)
#
#-------------------------------------------------------------------------------
FOG = {
1=>["Grass_Fog",125,1,-1,0],
2=>["Forest_Fog",125,1,1,0]
}
end
#================================================= =============================
# ■ Cache
#================================================= =============================
module Cache
#--------------------------------------------------------------------------
# Battleback
#--------------------------------------------------------------------------
def self.battleback(filename)
load_bitmap("Graphics/battlebacks/", filename)
end
end
#================================================= =============================
# ■ Spriteset_Battle
#================================================= =============================
class Spriteset_Battle
include MOG_BATTLEBACK_EX
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
alias mog_bbex_initialize initialize
def initialize
@map_id = $game_map.map_id
mog_bbex_initialize
create_panorama
create_fog
end
#--------------------------------------------------------------------------
# ● dispose
#--------------------------------------------------------------------------
alias mog_bbex_dispose dispose
def dispose
mog_bbex_dispose
dispose_panorama
dispose_fog
end
#--------------------------------------------------------------------------
# ● create_battleback
#--------------------------------------------------------------------------
alias mog_bbex_create_battleback create_battleback
def create_battleback
@battleback = BATTLEBACK[@map_id]
if @battleback != nil
image = Cache.battleback(@battleback[0])
if @battleback[1] == true
bitmap = Bitmap.new(580,416)
else
bitmap = Bitmap.new(image.width, image.height)
end
bitmap.stretch_blt(bitmap.rect, image, image.rect)
@battleback_sprite = Sprite.new(@viewport1)
@battleback_sprite.bitmap = bitmap
if @battleback[1] == true
@battleback_sprite.x = -20
@battleback_sprite.wave_amp = 8
@battleback_sprite.wave_length = 544
@battleback_sprite.wave_speed = 120
end
return
end
mog_bbex_create_battleback
end
#--------------------------------------------------------------------------
# * Create Battlefloor Sprite
#--------------------------------------------------------------------------
alias mog_bbex_create_battlefloor create_battlefloor
def create_battlefloor
@battlefloor = BATTLEFLOOR[@map_id]
if @battlefloor != nil
@battlefloor_sprite = Sprite.new(@viewport1)
@battlefloor_sprite.bitmap = Cache.battleback(@battlefloor[0])
@battlefloor_sprite.y = 192
@battlefloor_sprite.opacity = 128
if @battlefloor[1] == true
@battlefloor_sprite.wave_amp = 48
@battlefloor_sprite.wave_length = 240
@battlefloor_sprite.wave_speed = 420
end
return
end
mog_bbex_create_battlefloor
end
#--------------------------------------------------------------------------
# ● create_panorama
#--------------------------------------------------------------------------
def create_panorama
@panorama = PANORAMA[@map_id]
return if @panorama == nil
@panorama_sprite = Plane.new(@viewport1)
@panorama_sprite.bitmap = Cache.battleback(@panorama[0])
@panorama_sprite.z = -1
end
#--------------------------------------------------------------------------
# ● create_fog
#--------------------------------------------------------------------------
def create_fog
@fog = FOG[@map_id]
return if @fog == nil
@fog_sprite = Plane.new(@viewport3)
@fog_sprite.bitmap = Cache.battleback(@fog[0])
@fog_sprite.opacity = @fog[1]
@fog_sprite.blend_type = @fog[2]
end
#--------------------------------------------------------------------------
# ● dispose_panorama
#--------------------------------------------------------------------------
def dispose_panorama
return if @panorama == nil
@panorama_sprite.dispose
end
#--------------------------------------------------------------------------
# ● dispose_fog
#--------------------------------------------------------------------------
def dispose_fog
return if @fog == nil
@fog_sprite.dispose
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
alias mog_bbex_update update
def update
mog_bbex_update
update_panorama
update_fog
end
#--------------------------------------------------------------------------
# ● update_panorama
#--------------------------------------------------------------------------
def update_panorama
return if @panorama == nil
@panorama_sprite.ox += @panorama[1]
@panorama_sprite.oy += @panorama[2]
end
#--------------------------------------------------------------------------
# ● update_fog
#--------------------------------------------------------------------------
def update_fog
return if @fog == nil
@fog_sprite.ox += @fog[3]
@fog_sprite.oy += @fog[4]
end
end
$mog_rgssvx_battleback_ex = true
Социальные закладки