#=============================================================================== # ** Fantasy Effect - Map Glows # Autor: miguel8884 #------------------------------------------------------------------------------- # Data de lançamento: 16/08/2014 # Versão: 1.0 #------------------------------------------------------------------------------- # Dependências: # * Nenhum #------------------------------------------------------------------------------- # Descrição: # # O script permite que você crie 3 imagens de brilhos no mapa que aparecem # apenas quando uma switch estiver ativada, quando ela desativar, os brilhos # desaparecem suavemente. #------------------------------------------------------------------------------- # Características: # * Desaparecimento suave! # * Fácil configuração! # * 3 direções diferentes! # * Efeito de aparecer e desaparecer! #------------------------------------------------------------------------------- # Log: # v1.0 # 16/08/2014 - Script lançado! #=============================================================================== module Glow_Config #============================================================================= # Imagens # # Nome das imagens na pasta pictures #============================================================================= Glow1 = "Glow1" Glow2 = "Glow2" Glow3 = "Glow3" #============================================================================= # Velocidade # # Velocidade em que os brilhos se deslocam #============================================================================= Glow1_Speed = 2 Glow2_Speed = 1 Glow3_Speed = 1 #============================================================================= # Direções # # Direções que cada brilho vai # # Random_Glow : Movimento aleatório # Diagonal_Glow : Movimento diagonal # Vertical_Glow : Movimento vertical #============================================================================= Random_Glow = 3 Diagonal_Glow = 2 Vertical_Glow = 1 #============================================================================= # Mínima opacidade # # Opacidade minima ao desaparecimento de cada brilho #============================================================================= Min_Opacity1 = 50 Min_Opacity2 = 50 Min_Opacity3 = 50 #============================================================================= # Switch # # Switch que precisa estar ativada para os brilhos estarem aparecendo #============================================================================= Switch = 1 #============================================================================= # Fim das configurações #============================================================================= end #=============================================================================== # Aqui começa o script - Não mexa #=============================================================================== #=============================================================================== # Classe que gerencia a scene do mapa modificada para adicionar os brilhos #=============================================================================== class Scene_Map < Scene_Base #============================================================================= # Alias para não substituir os métodos originais #============================================================================= alias gst_glow_initialize initialize alias gst_glow_start start alias gst_glow_update update alias gst_glow_terminate terminate #============================================================================= # Método que inicia a scene apenas no início do game #============================================================================= def initialize gst_glow_initialize @glow_speed = [Glow_Config::Glow1_Speed,Glow_Config::Glow2_Speed,Glow_Config::Glow3_Speed] @min_opacity = [Glow_Config::Min_Opacity1,Glow_Config::Min_Opacity2,Glow_Config::Min_Opacity3] @glow_timer = 6 @glow1_min = false @glow2_min = false @glow3_min = false @glow1_min_tone = false @glow2_min_tone = false @glow3_min_tone = false @glow_rand = rand(30) end #============================================================================= # Método executado toda vez que a scene é iniciada #============================================================================= def start gst_glow_start create_glows end #============================================================================= # Método que atualiza a scene #============================================================================= def update gst_glow_update update_glows update_glow_opacity update_desactived_switch end #============================================================================= # Método que termina a scene #============================================================================= def terminate gst_glow_terminate dispose_glows end #============================================================================= # Método que cria todos os brilhos e suas definições #============================================================================= def create_glows @glow1 = Plane.new @glow2 = Plane.new @glow3 = Plane.new @glow1.bitmap = Cache.picture(Glow_Config::Glow1) @glow2.bitmap = Cache.picture(Glow_Config::Glow2) @glow3.bitmap = Cache.picture(Glow_Config::Glow3) @glow1.z = 3 @glow2.z = 3 @glow3.z = 3 @glow1.opacity = 0 @glow2.opacity = 0 @glow3.opacity = 0 end #============================================================================= # Método que atualiza o movimento dos brilhos #============================================================================= def update_glows @glow_rand = rand(30) if @glow_timer > 0 @glow_timer -= 1 else @glow_timer = 6 case Glow_Config::Random_Glow when 1 case @glow_rand when 0..10 @glow1.ox += 1 when 11..20 @glow1.ox = 0 when 21..30 @glow1.ox -= 1 end @glow1.oy += @glow_speed[0] when 2 case @glow_rand when 0..10 @glow2.ox += 1 when 11..20 @glow2.ox = 0 when 21..30 @glow2.ox -= 1 end @glow2.oy += @glow_speed[1] when 3 case @glow_rand when 0..10 @glow3.ox += 1 when 11..20 @glow3.ox = 0 when 21..30 @glow3.ox -= 1 end @glow3.oy += @glow_speed[2] end case Glow_Config::Diagonal_Glow when 1 @glow1.oy += @glow_speed[0] @glow1.ox -= @glow_speed[0] when 2 @glow2.oy += @glow_speed[1] @glow2.ox -= @glow_speed[1] when 3 @glow3.oy += @glow_speed[2] @glow3.ox -= @glow_speed[2] end case Glow_Config::Vertical_Glow when 1 @glow1.oy += @glow_speed[0] when 2 @glow2.oy += @glow_speed[1] when 3 @glow3.oy += @glow_speed[2] end end end #============================================================================= # Método que apaga s brilhos #============================================================================= def dispose_glows @glow1.bitmap.dispose @glow2.bitmap.dispose @glow3.bitmap.dispose @glow1.dispose @glow2.dispose @glow3.dispose end #============================================================================= # Método que atauliza a opacidade dos brilhos #============================================================================= def update_glow_opacity case rand(180) when 0..60 update_glow1 when 61..120 update_glow2 when 121..160 update_glow3 end end #============================================================================= # Métodos que fazem a opacidade descer e subir #============================================================================= def update_glow1 if @glow1_min == false if @glow1.opacity > Glow_Config::Min_Opacity1 @glow1.opacity -= 1 else @glow1_min = true end else if @glow1.opacity < 255 @glow1.opacity += 1 else @glow1_min = false end end end def update_glow2 if @glow2_min == false if @glow2.opacity > Glow_Config::Min_Opacity2 @glow2.opacity -= 1 else @glow2_min = true end else if @glow2.opacity < 255 @glow2.opacity += 1 else @glow2_min = false end end end def update_glow3 if @glow3_min == false if @glow3.opacity > Glow_Config::Min_Opacity3 @glow3.opacity -= 1 else @glow3_min = true end else if @glow3.opacity < 255 @glow3.opacity += 1 else @glow3_min = false end end end #============================================================================= # Método para fazer com que quando a switch for desativada o desparecimento # ser suave #============================================================================= def update_desactived_switch if $game_switches[Glow_Config::Switch] == false if @glow1.opacity > 0 @glow1.opacity -= 2 end if @glow2.opacity > 0 @glow2.opacity -= 2 end if @glow3.opacity > 0 @glow3.opacity -= 2 end end end end #=============================================================================== # Fim do script #===============================================================================