DaxSoft

Resume Menu

Feb 17th, 2014
271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.81 KB | None | 0 0
  1. #==============================================================================
  2. # • Resume Menu
  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. # O sistem de Resume apresenta uma janela com três opções básicas:
  12. # Retornar : Voltar ao jogo.
  13. # Tela de Título : Voltar ao título.
  14. # Sair : Sair do Jogo.
  15. # Ele se abre ao apertar 'ENTER' que pode se mudar..
  16. #==============================================================================
  17. Dax.register(:resume_menu, "Dax", 1.0) {
  18. #==============================================================================
  19. # • Resume Module.
  20. #==============================================================================
  21. module ResumeMenu
  22. #----------------------------------------------------------------------------
  23. # • Configuração.
  24. #----------------------------------------------------------------------------
  25. def self.r # resume
  26. return {
  27. # Botão que ao apertar irá para o Resume Menu.
  28. button: :ENTER,
  29. # Nome das opções..
  30. vocab: [
  31. "Retornar", # Opção para retornar ao Mapa.
  32. "Tela de Título", # Opção para voltar a tela de título.
  33. "Sair", # Opção para sair do jogo.
  34. ],
  35. # Salvar ao sair do jogo com a opção 'Sair'
  36. save: false, # true - Sim | false - Não.
  37. # Index do arquivo que irá ser salvo.
  38. save_index: 0,
  39. }
  40. end
  41. end
  42. #==============================================================================
  43. # • Estilo da Janela.
  44. #==============================================================================
  45. class Resume_Window < Window_Command
  46. #----------------------------------------------------------------------------
  47. # • Inicialização dos objetos.
  48. #----------------------------------------------------------------------------
  49. def initialize
  50. super(0, 0)
  51. self.x = (Graphics.width - self.width) / 2
  52. self.y = (Graphics.height - self.height) / 2
  53. self.openness = 255
  54. end
  55. #----------------------------------------------------------------------------
  56. # • Aquisição da largura da janela
  57. #----------------------------------------------------------------------------
  58. def window_width
  59. return 160
  60. end
  61. #----------------------------------------------------------------------------
  62. # • Criação da lista de comandos
  63. #----------------------------------------------------------------------------
  64. def make_command_list
  65. [:a, :b, :c].each_with_index { |k,i| add_command(ResumeMenu.r[:vocab][i], k)}
  66. end
  67. end
  68. #==============================================================================
  69. # • Cena que irá executar o Resume Menu.
  70. #==============================================================================
  71. class Scene_Resume_Menu < Scene_Base
  72. #----------------------------------------------------------------------------
  73. # • Inicialização dos objetos.
  74. #----------------------------------------------------------------------------
  75. def start
  76. super
  77. Background.default
  78. @menu = Resume_Window.new
  79. [:a, :b, :c].each { |key| @menu.set_handler(key, method(key))}
  80. end
  81. #----------------------------------------------------------------------------
  82. # • Renovação dos objetos.
  83. #----------------------------------------------------------------------------
  84. def terminate
  85. super
  86. @menu.dispose
  87. Background.default_dispose
  88. end
  89. #----------------------------------------------------------------------------
  90. # • Retornar.
  91. #----------------------------------------------------------------------------
  92. def a
  93. return_scene
  94. end
  95. #--------------------------------------------------------------------------
  96. # • Comando [Para o Título]
  97. #--------------------------------------------------------------------------
  98. def b
  99. fadeout_all
  100. SceneManager.goto(Scene_Title)
  101. end
  102. #--------------------------------------------------------------------------
  103. # • Comando [Sair]
  104. #--------------------------------------------------------------------------
  105. def c
  106. DataManager.save_game(ResumeMenu.r[:save_index]) if ResumeMenu.r[:save]
  107. fadeout_all
  108. SceneManager.exit
  109. end
  110. end
  111. #==============================================================================
  112. # • Cena do Mapa.
  113. #==============================================================================
  114. class Scene_Map < Scene_Base
  115. alias :resume_menu_call :update
  116. def update
  117. resume_menu_call
  118. SceneManager.call(Scene_Resume_Menu) if trigger?(ResumeMenu.r[:button])
  119. end
  120. end
  121. }
Advertisement
Add Comment
Please, Sign In to add comment