Advertisement
DaxSoft

Pause System 2.1

Feb 8th, 2015
319
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.73 KB | None | 0 0
  1. #==============================================================================
  2. # • Pause System
  3. #==============================================================================
  4. # Autor: Dax
  5. # Versão: 2.1
  6. # Site: www.dax-soft.weebly.com
  7. # Requerimento: Dax Core
  8. #==============================================================================
  9. # • Descrição:
  10. #------------------------------------------------------------------------------
  11. # Pausa a tela do jogo.
  12. #==============================================================================
  13. Dax.register(:pause_system, "dax", 2.1) {
  14. #==============================================================================
  15. # • Configurador.
  16. #==============================================================================
  17. module Pause
  18. #----------------------------------------------------------------------------
  19. # • Configuração;
  20. #----------------------------------------------------------------------------
  21. IMG = "" # Imagem para aparecer quando pausar. Deve estar na pasta 'System'.
  22. KEY = :P # Chave para pausar o jogo.
  23. Z = 999 # Camada do Pause.
  24. # Caso você não irá usar imagem, configure abaixo o texto :
  25. TEXT = "Pausado" # Texto
  26. # Configuração da fonte.
  27. # Nome, Tamanho, Negrito, Itálico, Borda, Cor
  28. FONT = ["Arial", 72, true, false, true, Color.new.hex("ffffff")]
  29. # Não mexa.
  30. $pause_system_flag = false
  31. end
  32. #==============================================================================
  33. # • Scene_Base
  34. #==============================================================================
  35. class Scene_Base
  36. include Pause
  37. #----------------------------------------------------------------------------
  38. # • Inicialização dos objetos.
  39. #----------------------------------------------------------------------------
  40. alias :pause_system_start :start
  41. def start
  42. pause_system_start
  43. if IMG == ""
  44. @pause_system_screen = Sprite.new([Graphics.width, Graphics.height])
  45. @pause_system_screen.bitmap.fill_rect(@pause_system_screen.rect, Color.new.hex("000000").opacity)
  46. ["name", "size", "bold", "italic", "outline", "color"].each_with_index {|f,i|
  47. eval("@pause_system_screen.bitmap.font.#{f} = FONT[i]")}
  48. @pause_system_screen.bitmap.draw_text_rect(TEXT, 1)
  49. else
  50. @pause_system_screen = Sprite.new("S: #{IMG}")
  51. @pause_system_screen.position(:center)
  52. end
  53. @pause_system_screen.z = Z
  54. @pause_system_screen.visible = false
  55. end
  56. #----------------------------------------------------------------------------
  57. # • Renovação dos objetos.
  58. #----------------------------------------------------------------------------
  59. alias :pause_system_terminate :terminate
  60. def terminate
  61. pause_system_terminate
  62. @pause_system_screen.dispose
  63. end
  64. #----------------------------------------------------------------------------
  65. # • Atualização dos objetos básico.
  66. #----------------------------------------------------------------------------
  67. alias :pause_system_update_basic :update_basic
  68. def update_basic
  69. pause_system_update_basic
  70. trigger?(KEY) {
  71. $pause_system_flag = true
  72. @pause_system_screen.visible = true
  73. @saved_framecount = Graphics.frame_count
  74. update_for_pause while $pause_system_flag
  75. }
  76. end
  77. #----------------------------------------------------------------------------
  78. # • Atualização do pause.
  79. #----------------------------------------------------------------------------
  80. def update_for_pause
  81. [Graphics, Input].each(&:update)
  82. trigger?(KEY) {
  83. $pause_system_flag = false
  84. Graphics.frame_count = @saved_framecount
  85. @pause_system_screen.visible = false
  86. Input.update
  87. }
  88. end
  89. end
  90.  
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement