Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Age of Empires HUD
- #==============================================================================
- # Autor: Dax
- # Versão: 1.0
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • Descrição:
- #------------------------------------------------------------------------------
- # Uma HUD ao estilo do jogo Age of Empires.
- #==============================================================================
- Dax.register(:AoE_hud, "Dax", 1.0, "05/03/14")
- #==============================================================================
- # • Rpg::Hud::AoE
- #==============================================================================
- module Rpg::Hud::AoE
- # Configurar o modo da HUD. Veja as opções abaixo.
- # :window -> Desenhar no modo janela.
- # :sprite -> Desenhar no modo normal.
- # "nome" -> Desenhar com uma imagem de fundo.
- # *Nome da Imagem dentro das "aspas". A imagem deve estar na pasta System.
- TYPE = :sprite
- # Chave que ao apertar esconde/ativa a hud;
- KEY = Key::H
- # Velocidade do slide.
- SLIDE = 10
- # Switche que ativa/desativa a hud
- SWITCHE = 1 # false - ativa | true - desativa
- # Configurar os ícones usados.
- ICON = [
- 262, # Dinheiro
- 331, # Madeira
- 350, # Pedras
- 320, # Ferro
- 121, # População.
- ]
- # Configurar os nomes dos ícones.
- VOCAB = [
- "Dinheiro:",
- "Madeira:",
- "Pedras:",
- "Ferro:",
- "População:",
- ]
- # Configurar as variáveis.
- VARS = [
- # ID da variável que irá conter os valores.
- "$game_party.gold",
- "$game_variables[1]", # Madeira,
- "$game_variables[2]", # Pedras,
- "$game_variables[3]", # Ferros,
- "$game_variables[4]", # População,
- ]
- # Configurar a fonte.
- FONT = [
- "Arial", # Nome
- 16, # Tamanho
- true, # Negrito
- true, # Sombra
- false, # Borda.
- ]
- end
- #==============================================================================
- # • AoE_Hud
- #==============================================================================
- class AoE_Hud
- include Rpg::Hud::AoE
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- def initialize
- if TYPE == :window
- @hud = Window_Base.new(0, 0, Graphics.width, 84)
- elsif TYPE == :sprite
- @hud = Sprite.new([Graphics.width, 64, 0, 0, 200])
- elsif TYPE.is_a?(String)
- @back = Sprite.new("S: #{TYPE}")
- @back.z = 199
- @hud = Sprite.new([Graphics.width, 64, 0, 0, 200])
- end
- if TYPE == :window
- ["name", "size", "bold", "shadow", "outline"].each_with_index{ |v, i| eval("@hud.contents.font.#{v} = FONT[i]")}
- ICON.size.times { |i|
- @hud.draw_icon(ICON[i], 84 + (84*i), 0)
- text = eval(VARS[i])
- @hud.draw_text(64 + (84*i), 30, 84, 20, VOCAB[i] + " " + text.to_s)
- }
- else
- ["name", "size", "bold", "shadow", "outline"].each_with_index{ |v, i| eval("@hud.bitmap.font.#{v} = FONT[i]")}
- ICON.size.times { |i|
- @hud.bitmap.draw_icon(ICON[i], 84 + (84*i), 0)
- text = eval(VARS[i])
- @hud.bitmap.draw_text(64 + (84*i), 30, 84, 20,VOCAB[i] + " " + text.to_s)
- }
- end
- @slide = false
- end
- #----------------------------------------------------------------------------
- # • Renovação dos objetos.
- #----------------------------------------------------------------------------
- def dispose
- @hud.dispose
- @back.dispose
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- def update
- @slide = $game_switches[SWITCHE]
- trigger?(KEY) { slide_effect }
- unless @slide
- @hud.slide_down(SLIDE, 0)
- else
- @hud.slide_up(SLIDE,[email protected])
- end
- unless TYPE == :window
- @hud.bitmap.clear
- VOCAB.size.times { |i|
- @hud.bitmap.draw_icon(ICON[i], 84 + (84*i), 0)
- text = eval(VARS[i])
- @hud.bitmap.draw_text(64 + (84*i), 30, 84, 20,VOCAB[i] + " " + text.to_s)
- }
- else
- @hud.contents.clear
- VOCAB.size.times { |i|
- @hud.draw_icon(ICON[i], 84 + (84*i), 0)
- text = eval(VARS[i])
- @hud.draw_text(64 + (84*i), 30, 84, 20, VOCAB[i] + " " + text.to_s)
- }
- end
- end
- #----------------------------------------------------------------------------
- # • Efeito do slide.
- #----------------------------------------------------------------------------
- def slide_effect
- $game_switches[SWITCHE] = @slide = @slide ? false : true
- end
- end
- #==============================================================================
- # • Scene_Map
- #==============================================================================
- class Scene_Map < Scene_Base
- #----------------------------------------------------------------------------
- # • Principal dos objetos.
- #----------------------------------------------------------------------------
- alias :aoe_hud_main :main
- def main
- @AoE_Hud = AoE_Hud.new
- aoe_hud_main
- @AoE_Hud.dispose
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos.
- #----------------------------------------------------------------------------
- alias :aoe_hud_update :update
- def update
- aoe_hud_update
- @AoE_Hud.update
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment