1 Criando Hud simples 7/11/2012, 02:18
Warrior
Ajudante
Com esse tuto aprendera a fazer uma hud bem simples
1.Pegue esse código:
2.Voce está vendo que tem uma linha do script escrito o seguinte:
Troque actor pelo id do herói que está na party cujo os status serão
igual ao dele.
Por exemplo se eu colocar:
Irá monstrar os status do ator 1 que está na party.
Eu recomendo colocar 0!
3.Voce está vendo uma linha cujo está escrito:
Embaixo de
Desenhar Gráfico:
Desenhar Nome:
Desenhar Classe:
Desenhar Nível:
Desenhar Status:
Desenhar EXP:
Desenhar HP:
Desenhar MP:
4.No início do script você viu que está escríto:
Isso eu fiz para ficar mais fácil de configurar a janela.
ficará para a direita)
Código:
ficará para baixo)
5.Voce pode colocar os comandos entre o conteudo e fim
traduzindo os comandos:
No lugar do segundo 0 coloque a posição da janela na vertical.
No lugar de width = 144, troque o 144 pela largura do texto do HP.(eu recomendo deixar 144 mesmo!)
6.Um exemplo de uma hud que eu fiz:
7.Criando hp com imagem
Coloque a imagem do hp na pasta pictures, o qual será o chamada de“HPBAR”
No lugar de "draw_actor_hp(actor, x, y, width = 144)" coloque:
se quiser mudar para hp para sp, é so substituir nessa linha:
Créditos:
Valentine por fazer o tuto e a min por postar
1.Pegue esse código:
- Código:
X = 0
Y = 0
Largura = 300
Altura = 300
class Hud < Window_Base
def initialize
super(0,0,300,300)
self.contents = Bitmap.new(width - 32, height - 32)
@ator = 0
refresh
end
def refresh
self.contents.clear
actor = $game_party.actors[ator]
#Conteúdo:
#Fim
if $scene.is_a?(Scene_Menu)
self.contents.clear
end
if $scene.is_a?(Scene_Battle)
self.contents.clear
self.visible = false
end
end
end
#Adiciona a janela a o mapa.
class Scene_Map
alias hud_main main
def main
@Hud = Hud.new
hud_main
@Hud.dispose
end
alias hud_update update
def update
hud_update
@Hud.update
@Hud.refresh
end
end
class Game_Actor < Game_Battler
def now_exp
return @exp - @exp_list[@level]
end
def next_exp
return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0
end
end
2.Voce está vendo que tem uma linha do script escrito o seguinte:
- Código:
$game_party.actors[ator]
Troque actor pelo id do herói que está na party cujo os status serão
igual ao dele.
Por exemplo se eu colocar:
- Código:
$game_party.actors[0]
Irá monstrar os status do ator 1 que está na party.
Eu recomendo colocar 0!
3.Voce está vendo uma linha cujo está escrito:
- Código:
#Conteúdo:
- Código:
#Fim
Embaixo de
- Código:
#Conteúdo
- Código:
#Fim
Desenhar Gráfico:
- Código:
draw_actor_graphic(actor, x, y)
Desenhar Nome:
- Código:
draw_actor_name(actor, x, y)
Desenhar Classe:
- Código:
draw_actor_class(actor, x, y)
Desenhar Nível:
- Código:
draw_actor_level(actor, x, y)
Desenhar Status:
- Código:
draw_actor_state(actor, x, y, width = 120)
Desenhar EXP:
- Código:
draw_actor_exp(actor, x, y)
Desenhar HP:
- Código:
draw_actor_hp(actor, x, y, width = 144)
Desenhar MP:
- Código:
draw_actor_sp(actor, x, y, width = 144)
4.No início do script você viu que está escríto:
- Código:
X = 0
Y = 0
Largura = 300
Altura = 300
Isso eu fiz para ficar mais fácil de configurar a janela.
- Código:
X =
ficará para a direita)
Código:
- Código:
Y =
ficará para baixo)
- Código:
Largura =
- Código:
Altura =
5.Voce pode colocar os comandos entre o conteudo e fim
traduzindo os comandos:
- Código:
draw_actor_hp(actor, 0, 0, width = 144)
No lugar do segundo 0 coloque a posição da janela na vertical.
No lugar de width = 144, troque o 144 pela largura do texto do HP.(eu recomendo deixar 144 mesmo!)
6.Um exemplo de uma hud que eu fiz:
- Código:
X = 0
Y = 0
Largura = 200
Altura = 120
class Hud < Window_Base
def initialize
super(X,Y,Largura,Altura)
self.contents = Bitmap.new(width - 32, height - 32)
@ator = 0
refresh
end
def refresh
self.contents.clear
actor = $game_party.actors[0]
#Conteúdo:
draw_actor_graphic(actor, 130, 48)
draw_actor_hp(actor, 0, 20, width = 144)
draw_actor_sp(actor, 0, 40, width = 144)
draw_actor_exp(actor, 0, 60)
#Fim
if $scene.is_a?(Scene_Menu)
self.contents.clear
end
if $scene.is_a?(Scene_Battle)
self.contents.clear
self.visible = false
end
end
end
#Adiciona a janela a o mapa.
class Scene_Map
alias hud_main main
def main
@Hud = Hud.new
hud_main
@Hud.dispose
end
alias hud_update update
def update
hud_update
@Hud.update
@Hud.refresh
end
end
7.Criando hp com imagem
Coloque a imagem do hp na pasta pictures, o qual será o chamada de“HPBAR”
No lugar de "draw_actor_hp(actor, x, y, width = 144)" coloque:
- Código:
hpbar = RPG::Cache.picture("HPBAR")
hpbarwidth = hpbar.width * actor.hp / actor.maxhp
hpbarheight = hpbar.height
hpbar_rect = Rect.new(0,0,hpbarwidth,hpbarheight)
self.contents.draw_text(0,0,30,30, "HP:", 0)
self.contents.blt(30,10,hpbar,hpbar_rect)
se quiser mudar para hp para sp, é so substituir nessa linha:
- Código:
hpbarwidth = hpbar.width * actor.hp / actor.maxhp
- Código:
hpbarwidth = hpbar.width * actor.sp / actor.maxsp
Créditos:
Valentine por fazer o tuto e a min por postar