O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

JB - Tone in Events

Iniciado por Raizen, 17/12/2012 às 17:26

[box class=titlebg2]
Tone in events
[/box]
[box class=errorbox2]

[box class=titlebg]
Introdução:
[/box]
[box class=errorbox2]
Mude as cores dos eventos com apenas um comando õ/ !! [/box]


[box class=titlebg]Características:[/box]
[box class=errorbox2]- Plug 'n Play
- Altere a cor pelo sistema RGB
- Duração em que ocorre a mudança
[/box]

[box class=titlebg]Screenshots:[/box]
[box class=errorbox2]
Script em funcionamento:
Spoiler
[close]

[/box]

[box class=titlebg]Como usar:[/box]
[box class=errorbox2]
  Para alterar a tonalidade dos eventos/jogador, faça:
 
  Evento > Comando > Mover Evento/Evento Pré Definido > Chamar Script
 
  Na janela que abrir, digite:
 
  color(Tone.new(R,G,B,C), duração)
 
  R = Vermelho
  G = Verde
  B = Azul
  C = Cinza
  Duração = Tempo da transição da cor anterior para a nova
 
  Exemplo:
 
  color( Tone.new(200,160,0,0), 150 )

[/box]

[box class=titlebg]Script:[/box]
[box class=errorbox2]
#=========================================================
# JB - Tone in Events
# Versão: 1.1
# Autor: JohnBolton
#---------------------------------------------------------
# Permite que a tonalidade dos eventos sejam alteradas
# por apenas um comando. Tendo como parâmetros:
# Cor em RGB e duração da transformação da cor.
#==========================================================

#==========================================================
# * Change_Log
#----------------------------------------------------------
#
#  Versão 1.1
# 
#    - Adicionado a duração da mudança de tonalidade
#
#==========================================================

=begin

  Instruções:
  
  Para alterar a tonalidade dos eventos/jogador, faça:
  
  Evento > Comando > Mover Evento/Evento Pré Definido > Chamar Script
  
  Na janela que abrir, digite:
  
  color(Tone.new(R,G,B,C), duração)
  
  R = Vermelho
  G = Verde
  B = Azul
  C = Cinza
  Duração = Tempo da transição da cor anterior para a nova
  
  Exemplo:
  
  color( Tone.new(200,160,0,0), 150 )
  
=end
  
#==============================================================================
# ** Game_CharacterBase
#------------------------------------------------------------------------------
#  Esta classe gerencia os personagens. Comum a todos os persongens, armazena
# informações básicas como coordenadas e gráficos
# Esta classe é usada como superclasse da classe Game_Character.
#==============================================================================

class Game_CharacterBase
  #--------------------------------------------------------------------------
  # * Variáveis públicas
  #--------------------------------------------------------------------------
  attr_accessor :tone
  #--------------------------------------------------------------------------
  # * [Alias] - Inicialização de variáveis públicas
  #--------------------------------------------------------------------------
  alias tone_bolton_init_public_members init_public_members
  def init_public_members
    tone_bolton_init_public_members
    @tone = Tone.new(0,0,0,0)
    @tone_duration = 0
  end
  #--------------------------------------------------------------------------
  # * Definição do Tom dos eventos
  #--------------------------------------------------------------------------
  def color(tone, duration)
    @tone_target = tone.clone
    @tone_duration = duration
    @tone = @tone_target.clone if @tone_duration == 0
  end
  #--------------------------------------------------------------------------
  # * [Alias] Atualização da Tela
  #--------------------------------------------------------------------------
  alias tone_bolton_update update
  def update
    tone_bolton_update
    update_tone if @tone_duration > 0
  end
  #--------------------------------------------------------------------------
  # * Atualização da Tonalidade
  #--------------------------------------------------------------------------
  def update_tone
    d = @tone_duration
    @tone.red = (@tone.red * (d - 1) + @tone_target.red) / d
    @tone.green = (@tone.green * (d - 1) + @tone_target.green) / d
    @tone.blue = (@tone.blue * (d - 1) + @tone_target.blue) / d
    @tone.gray = (@tone.gray * (d - 1) + @tone_target.gray) / d
    @tone_duration -= 1
  end
end

#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  Este sprite é usado para mostrar personagens. Ele observa uma instância
# da classe Game_Character e automaticamente muda as condições do sprite.
#==============================================================================

class Sprite_Character < Sprite_Base
  #--------------------------------------------------------------------------
  # * [Alias] - Atualização da posição
  #--------------------------------------------------------------------------
  alias tone_bolton_update_position update_position
  def update_position
    tone_bolton_update_position
    self.tone = @character.tone
  end
end



Para quem se interessar, há a versão 1.0 para VX também:
Spoiler

#=====================================#
# Autor: JohnBolton                   #
# Versão: Tone in Events 1.0 - VX     #
#=====================================#

=begin

  Instruções:
  
  Para alterar a tonalidade dos eventos/jogador, faça:
  
  Evento > Comando > Mover Evento/Evento Pré Definido > Chamar Script
  
  Na janela que abrir, digite:
  
  color(r,g,b,p)
  
  Exemplo:
  
  color(200,100,50,0)
  
=end
  

class Game_Character
  attr_accessor :tone
  alias tone_bolton_initialize initialize
  def initialize
    tone_bolton_initialize
    @tone = Tone.new(0,0,0,0)
  end
  def color(r,g,b,p=0)
    @tone = Tone.new(r,g,b,p)
  end
end

class Sprite_Character < Sprite_Base
  alias tone_bolton_update update
  def update
    tone_bolton_update
    self.tone = @character.tone
  end
end
[close]

Mais scripts do mesmo autor?
R -> Aqui

[/box]

[box class=titlebg]Créditos e Considerações finais:[/box]
[box class=errorbox2]JohnBolton - Criação do script
[/box][/box]