DaxSoft

Shortcut Menu 2.6

Feb 26th, 2014
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. #==============================================================================
  2. # • Shortcut Menu
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 2.6
  6. # Site: www.dax-soft.weebly.com
  7. # Requerimento: Dax Core
  8. #==============================================================================
  9. # • Descrição:
  10. #------------------------------------------------------------------------------
  11. # Um simples sistema de Menu que interage com o Mouse.
  12. #==============================================================================
  13. Dax.register(:shortcut_menu, "dax", 2.6) {
  14. #==============================================================================
  15. # • ShortcutMenu
  16. #==============================================================================
  17. module ShortcutMenu
  18. #----------------------------------------------------------------------------
  19. # • Configurações.
  20. #----------------------------------------------------------------------------
  21. def self.shortcut
  22. return {
  23. # Configurar os ícones e as cenas em que eles irão abrir.
  24. icons: [
  25. # [ID do ícone, Cena que irá abrir],
  26. [192, "Scene_Item"],
  27. [232, "Scene_Skill"],
  28. [270, "Scene_Equip"],
  29. [233, "Scene_Status"],
  30. [230, "Scene_Save"],
  31. [121, "Scene_End"],
  32. ],
  33. # Configurar a posição do Menu.
  34. pos: :down, # :down - em baixo | :up - em cima.
  35. }
  36. end
  37. end
  38. #==============================================================================
  39. # • ShortcutMenu::Shortcut
  40. #==============================================================================
  41. class ShortcutMenu::Shortcut
  42. #----------------------------------------------------------------------------
  43. # • Inicialização dos objetos.
  44. #----------------------------------------------------------------------------
  45. def initialize
  46. @icon = []
  47. ShortcutMenu.shortcut[:icons].each_with_index { |key, index|
  48. @icon[index] = Sprite_Icon.new(0, 0, key[0], false)
  49. @icon[index].x = 4 + (28 * index)
  50. @icon[index].position(ShortcutMenu.shortcut[:pos] == :down ? 5 : 0)
  51. @icon[index].y += ShortcutMenu.shortcut[:pos] == :down ? -4 : 4
  52. }
  53. end
  54. #----------------------------------------------------------------------------
  55. # • Renovação dos objetos.
  56. #----------------------------------------------------------------------------
  57. def dispose
  58. @icon.each(&:dispose)
  59. end
  60. #----------------------------------------------------------------------------
  61. # • Atualização dos objetos.
  62. #----------------------------------------------------------------------------
  63. def update
  64. @icon.each(&:update)
  65. @icon.each_with_index { |icon, index| icon.if_mouse_over { |over| icon.enabled = over
  66. icon.if_mouse_click { SceneManager.symbol(ShortcutMenu.shortcut[:icons][index][1])
  67. }}}
  68. end
  69. end
  70. #==============================================================================
  71. # • Scene_MenuBase
  72. #==============================================================================
  73. class Scene_MenuBase < Scene_Base
  74. #--------------------------------------------------------------------------
  75. # • Chamada de retorno de cena. Retornar para o Mapa.
  76. #--------------------------------------------------------------------------
  77. def return_scene
  78. SceneManager.call(Scene_Map)
  79. end
  80. end
  81. #==============================================================================
  82. # • Scene_Map.
  83. #==============================================================================
  84. class Scene_Map < Scene_Base
  85. #----------------------------------------------------------------------------
  86. # • Processo principal.
  87. #----------------------------------------------------------------------------
  88. alias :shortcut_menu_main :main
  89. def main
  90. @shortcut_menu = ShortcutMenu::Shortcut.new
  91. shortcut_menu_main
  92. @shortcut_menu.dispose
  93. end
  94. #----------------------------------------------------------------------------
  95. # • Atualização dos objetos.
  96. #----------------------------------------------------------------------------
  97. alias :shortcut_menu_update :update
  98. def update
  99. shortcut_menu_update
  100. @shortcut_menu.update
  101. end
  102. end
  103. }
Advertisement
Add Comment
Please, Sign In to add comment