DaxSoft

AoE Hud 1.0

Mar 5th, 2014
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.61 KB | None | 0 0
  1. #==============================================================================
  2. # • Age of Empires HUD
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 1.0
  6. # Site: www.dax-soft.weebly.com
  7. # Requerimento: Dax Core
  8. #==============================================================================
  9. # • Descrição:
  10. #------------------------------------------------------------------------------
  11. # Uma HUD ao estilo do jogo Age of Empires.
  12. #==============================================================================
  13. Dax.register(:AoE_hud, "Dax", 1.0, "05/03/14")
  14. #==============================================================================
  15. # • Rpg::Hud::AoE
  16. #==============================================================================
  17. module Rpg::Hud::AoE
  18. # Configurar o modo da HUD. Veja as opções abaixo.
  19. # :window -> Desenhar no modo janela.
  20. # :sprite -> Desenhar no modo normal.
  21. # "nome" -> Desenhar com uma imagem de fundo.
  22. # *Nome da Imagem dentro das "aspas". A imagem deve estar na pasta System.
  23. TYPE = :sprite
  24. # Chave que ao apertar esconde/ativa a hud;
  25. KEY = Key::H
  26. # Velocidade do slide.
  27. SLIDE = 10
  28. # Switche que ativa/desativa a hud
  29. SWITCHE = 1 # false - ativa | true - desativa
  30. # Configurar os ícones usados.
  31. ICON = [
  32. 262, # Dinheiro
  33. 331, # Madeira
  34. 350, # Pedras
  35. 320, # Ferro
  36. 121, # População.
  37. ]
  38. # Configurar os nomes dos ícones.
  39. VOCAB = [
  40. "Dinheiro:",
  41. "Madeira:",
  42. "Pedras:",
  43. "Ferro:",
  44. "População:",
  45. ]
  46. # Configurar as variáveis.
  47. VARS = [
  48. # ID da variável que irá conter os valores.
  49. "$game_party.gold",
  50. "$game_variables[1]", # Madeira,
  51. "$game_variables[2]", # Pedras,
  52. "$game_variables[3]", # Ferros,
  53. "$game_variables[4]", # População,
  54. ]
  55. # Configurar a fonte.
  56. FONT = [
  57. "Arial", # Nome
  58. 16, # Tamanho
  59. true, # Negrito
  60. true, # Sombra
  61. false, # Borda.
  62. ]
  63. end
  64. #==============================================================================
  65. # • AoE_Hud
  66. #==============================================================================
  67. class AoE_Hud
  68. include Rpg::Hud::AoE
  69. #----------------------------------------------------------------------------
  70. # • Inicialização dos objetos.
  71. #----------------------------------------------------------------------------
  72. def initialize
  73. if TYPE == :window
  74. @hud = Window_Base.new(0, 0, Graphics.width, 84)
  75. elsif TYPE == :sprite
  76. @hud = Sprite.new([Graphics.width, 64, 0, 0, 200])
  77. elsif TYPE.is_a?(String)
  78. @back = Sprite.new("S: #{TYPE}")
  79. @back.z = 199
  80. @hud = Sprite.new([Graphics.width, 64, 0, 0, 200])
  81. end
  82. if TYPE == :window
  83. ["name", "size", "bold", "shadow", "outline"].each_with_index{ |v, i| eval("@hud.contents.font.#{v} = FONT[i]")}
  84. ICON.size.times { |i|
  85. @hud.draw_icon(ICON[i], 84 + (84*i), 0)
  86. text = eval(VARS[i])
  87. @hud.draw_text(64 + (84*i), 30, 84, 20, VOCAB[i] + " " + text.to_s)
  88. }
  89. else
  90. ["name", "size", "bold", "shadow", "outline"].each_with_index{ |v, i| eval("@hud.bitmap.font.#{v} = FONT[i]")}
  91. ICON.size.times { |i|
  92. @hud.bitmap.draw_icon(ICON[i], 84 + (84*i), 0)
  93. text = eval(VARS[i])
  94. @hud.bitmap.draw_text(64 + (84*i), 30, 84, 20,VOCAB[i] + " " + text.to_s)
  95. }
  96. end
  97. @slide = false
  98. end
  99. #----------------------------------------------------------------------------
  100. # • Renovação dos objetos.
  101. #----------------------------------------------------------------------------
  102. def dispose
  103. @hud.dispose
  104. @back.dispose
  105. end
  106. #----------------------------------------------------------------------------
  107. # • Atualização dos objetos.
  108. #----------------------------------------------------------------------------
  109. def update
  110. @slide = $game_switches[SWITCHE]
  111. trigger?(KEY) { slide_effect }
  112. unless @slide
  113. @hud.slide_down(SLIDE, 0)
  114. else
  115. @hud.slide_up(SLIDE,[email protected])
  116. end
  117. unless TYPE == :window
  118. @hud.bitmap.clear
  119. VOCAB.size.times { |i|
  120. @hud.bitmap.draw_icon(ICON[i], 84 + (84*i), 0)
  121. text = eval(VARS[i])
  122. @hud.bitmap.draw_text(64 + (84*i), 30, 84, 20,VOCAB[i] + " " + text.to_s)
  123. }
  124. else
  125. @hud.contents.clear
  126. VOCAB.size.times { |i|
  127. @hud.draw_icon(ICON[i], 84 + (84*i), 0)
  128. text = eval(VARS[i])
  129. @hud.draw_text(64 + (84*i), 30, 84, 20, VOCAB[i] + " " + text.to_s)
  130. }
  131. end
  132. end
  133. #----------------------------------------------------------------------------
  134. # • Efeito do slide.
  135. #----------------------------------------------------------------------------
  136. def slide_effect
  137. $game_switches[SWITCHE] = @slide = @slide ? false : true
  138. end
  139. end
  140. #==============================================================================
  141. # • Scene_Map
  142. #==============================================================================
  143. class Scene_Map < Scene_Base
  144. #----------------------------------------------------------------------------
  145. # • Principal dos objetos.
  146. #----------------------------------------------------------------------------
  147. alias :aoe_hud_main :main
  148. def main
  149. @AoE_Hud = AoE_Hud.new
  150. aoe_hud_main
  151. @AoE_Hud.dispose
  152. end
  153. #----------------------------------------------------------------------------
  154. # • Atualização dos objetos.
  155. #----------------------------------------------------------------------------
  156. alias :aoe_hud_update :update
  157. def update
  158. aoe_hud_update
  159. @AoE_Hud.update
  160. end
  161. end
Advertisement
Add Comment
Please, Sign In to add comment