Nessa Hud eu melhorei o código que estava dando um pouco de Lag no mapa, por conta do comando refresh infinito e constante!
E tambem alterei o visual da Hud, deixei Menor e mostrando apenas a barra de HP, MP, Gráfico e o Level do Herói!
Eu olhei como referencia a Hud do NP Master, e tive uma ajuda do Marlos pra melhorar os códigos!
Imagens:
T+
@EDIT:
Putz toda vez esqueço esse download -.-
Download via Mediafire
E tambem alterei o visual da Hud, deixei Menor e mostrando apenas a barra de HP, MP, Gráfico e o Level do Herói!
Eu olhei como referencia a Hud do NP Master, e tive uma ajuda do Marlos pra melhorar os códigos!
- Código:
=begin
|---------------------------------------|
Por: Nietore
Contato: carloshenrique-rox@hotmail.com
Acesse: Www.AldeiaRpgBr.Com
Créditos: Valentine
|---------------------------------------|
=end
# Iniciando Processo
class Nietore_HUD < Sprite
def initialize
super
self.bitmap = bitmap = Bitmap.new(300,300)
self.opacity = 245
self.bitmap.font.size = 17
self.x = 1
self.y = 1
refresh
end
def update
super
refresh if something_changed?
end
def something_changed?
return true if @old_name != @actor.name
return true if @old_class != @actor.class.name
return true if @old_level != @actor.level
return true if @old_hp != @actor.hp
return true if @old_mp != @actor.mp
return true if @old_sprite != @actor.character_name
return true if @old_face != @actor.face_name
return false
end
def refresh
self.bitmap.clear
@actor = $game_party.members[0]
@old_name = @actor.name
@old_class = @actor.class.name
@old_level = @actor.level
@old_hp = @actor.hp
@old_mp = @actor.mp
@old_sprite = @actor.character_name
@old_face = @actor.face_name
# Hud
nietore3 = Cache.picture("Hud")
nietore1 = nietore3.width
nietore2 = nietore3.height
nietore4 = Rect.new(0,0,nietore1,nietore2)
self.bitmap.blt(0,0,nietore3,nietore4)
# Mostrar o gráfico do herói
bitmap = Cache.character(@actor.character_name)
sign = @actor.character_name[/^[\!\$]./]
if sign && sign.include?('$')
cw = bitmap.width / 3
ch = bitmap.height / 4
else
cw = bitmap.width / 12
ch = bitmap.height / 8
end
n = @actor.character_index
src_rect = Rect.new((n%4*3+1)*cw, (n/4*4)*ch, cw, ch)
self.bitmap.blt(29 - cw / 2, 43 - ch, bitmap, src_rect)
# Imagem do HP
hpbar = Cache.picture("Hp_Bar")
hpbarwidth = hpbar.width * @actor.hp / @actor.mhp
hpbarheight = hpbar.height
hpbar_rect = Rect.new(0, 0,hpbarwidth,hpbarheight)
self.bitmap.blt(80,10,hpbar,hpbar_rect)
#Imagem do MP
hpbar = Cache.picture("Mp_Bar")
hpbarwidth = hpbar.width * @actor.mp / @actor.mmp
hpbarheight = hpbar.height
hpbar_rect = Rect.new(0, 0,hpbarwidth,hpbarheight)
self.bitmap.blt(80,34,hpbar,hpbar_rect)
# Desenha o Level do Personagem
self.bitmap.font.color.set(255,255,100)
self.bitmap.draw_text(10, 42, self.width - 40, 32, "Lv:", 0)
self.bitmap.font.color.set(255,255,255)
self.bitmap.draw_text(40, 42, self.width - 40, 32, @actor.level, 0)
end
end
class Scene_Map
alias hud_main main
def main
@Hud = Nietore_HUD.new
hud_main
@Hud.dispose
end
alias hud_update update
def update
hud_update
@Hud.refresh if @Hud.something_changed?
end
end
Imagens:
T+
@EDIT:
Putz toda vez esqueço esse download -.-
Download via Mediafire
Última edição por Nietore em Dom Jan 08, 2012 5:05 pm, editado 1 vez(es)