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

Faalco HUD com Switch de Ativação

Iniciado por math2607, 09/08/2015 às 20:13

Olá pessoas.
Eu estava esses dias trabalhando em meu projeto quando vi que precisava de uma HUD ativada por switches. Todas que eu encontrei eram muto complicadas ou não podiam ser desativadas por switches. Então, foi quando eu achei a do Faalco,do GS pack (sem imagens). Ela também não tinha essa funcionalidade, mas ela é simples e se encaixaria em meu projeto. Foi quando eu decidi tentar modifica-la para por essa função. Foi então que comecei a me fascinar pela linguagem Ruby, me pegando até 4:30 da manha assistindo video aula sobre. Então, depois de várias horas estudando, eu consegui modificar o script do Faalco, e implementar a switch. Eu decidi postar aqui pois queria que vocês avaliassem a modificação, ver se há algo para acrescentar, pois pretendo me aprofundar mais, e essa foi minha primeira experiência com a "coisa". LEMBREM-SE: DEEM OS DEVIDOS CRÉDITOS AO FAALCO, POIS ISSO É SOMENTE UMA MODIFICAÇÃO. Link para o post no qual peguei o script
 
Código: auto:0
################################################
# Faalco GS Pack - {HUD} 12 - 02 - 2012        #
# por Faalco
# Switch de ativação por math2607
################################################

module Math_System
  module Math_Systemparanãofalharmesmo
#==============================================#
#   Configuração
#==============================================#
  #Escolha a Switch que irá ativar a HUD:
  Active_System = 1
#==============================================#
#   Fim da configuração
#==============================================#
  end
end


class HUD < Sprite
  
################################################
# Iniciando                                    #
################################################
  def initialize(view)
    super(view)

################################################
# Criando cores da HUD                         #
################################################
    @ch1 = Color.new(50,0,0)
    @ch2 = Color.new(222,26,50)
    @cm1 = Color.new(50,60,60)
    @cm2 = Color.new(0,240,50)
    @back = Color.new(0,0,0)
    @back2 = Color.new(240,240,80)
    #Cria o Bitmap
     self.bitmap = Bitmap.new(200,200) 
     self.bitmap.font.name = "UmePlus Gothic" 
     self.bitmap.font.size = 20 
     self.z = 300 
     update 
  end
#################################################
# Atualizando                                   #
#################################################
  def update
    super

#################################################
# Apagando conteúdo                             #
#################################################
    self.bitmap.clear 
#################################################
# Criando barra de HP                           #
#################################################
    hp = $game_actors[1].hp
    mhp = $game_actors[1].mhp
    wb = 116 * hp / mhp
    if $game_switches[Math_System::Math_Systemparanãofalharmesmo::Active_System]
     self.bitmap.fill_rect(10, 10, 120, 10, @back) 
     self.bitmap.fill_rect(11, 11, 118, 8, @back2)
     self.bitmap.fill_rect(12, 12, 116, 6, @back)
     self.bitmap.gradient_fill_rect(12, 12, wb, 6, @ch1, @ch2)
     self.bitmap.draw_text(60, 0, 200, 24, "HP")
    end
#################################################
# Criando barra de MP                           #
#################################################
    mp = $game_actors[1].mp
    mmp = $game_actors[1].mmp
    wb = 116 * mp / mmp
    if $game_switches[Math_System::Math_Systemparanãofalharmesmo::Active_System]
     self.bitmap.fill_rect(10, 30, 120, 10, @back)
     self.bitmap.fill_rect(11, 31, 118, 8, @back2)
     self.bitmap.fill_rect(12, 32, 116, 6, @back)
     self.bitmap.gradient_fill_rect(12, 32, wb, 6, @cm1, @cm2)
     self.bitmap.draw_text(60, 20, 200, 24, "MP")
    end
 end

  def dispose
    self.bitmap.dispose
    super
  end
end
#################################################
# Instalando HUD                                #
#################################################
class Spriteset_Map
  alias :or_initialize :initialize
  def initialize
   @hud = HUD.new(@viewport2)
    or_initialize
  end
  alias :or_update :update
  def update
    @hud.update if Graphics.frame_count % 5 == 1
    or_update
  end
  alias :or_dispose :dispose
  def dispose
    @hud.dispose
    or_dispose
  end
end

  
###################################################
# FIM DO SCRIPT                                   #
###################################################