Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #==============================================================================
- # • Pause System
- #==============================================================================
- # Autor: Dax
- # Versão: 2.1
- # Site: www.dax-soft.weebly.com
- # Requerimento: Dax Core
- #==============================================================================
- # • Descrição:
- #------------------------------------------------------------------------------
- # Pausa a tela do jogo.
- #==============================================================================
- Dax.register(:pause_system, "dax", 2.1) {
- #==============================================================================
- # • Configurador.
- #==============================================================================
- module Pause
- #----------------------------------------------------------------------------
- # • Configuração;
- #----------------------------------------------------------------------------
- IMG = "" # Imagem para aparecer quando pausar. Deve estar na pasta 'System'.
- KEY = :P # Chave para pausar o jogo.
- Z = 999 # Camada do Pause.
- # Caso você não irá usar imagem, configure abaixo o texto :
- TEXT = "Pausado" # Texto
- # Configuração da fonte.
- # Nome, Tamanho, Negrito, Itálico, Borda, Cor
- FONT = ["Arial", 72, true, false, true, Color.new.hex("ffffff")]
- # Não mexa.
- $pause_system_flag = false
- end
- #==============================================================================
- # • Scene_Base
- #==============================================================================
- class Scene_Base
- include Pause
- #----------------------------------------------------------------------------
- # • Inicialização dos objetos.
- #----------------------------------------------------------------------------
- alias :pause_system_start :start
- def start
- pause_system_start
- if IMG == ""
- @pause_system_screen = Sprite.new([Graphics.width, Graphics.height])
- @pause_system_screen.bitmap.fill_rect(@pause_system_screen.rect, Color.new.hex("000000").opacity)
- ["name", "size", "bold", "italic", "outline", "color"].each_with_index {|f,i|
- eval("@pause_system_screen.bitmap.font.#{f} = FONT[i]")}
- @pause_system_screen.bitmap.draw_text_rect(TEXT, 1)
- else
- @pause_system_screen = Sprite.new("S: #{IMG}")
- @pause_system_screen.position(:center)
- end
- @pause_system_screen.z = Z
- @pause_system_screen.visible = false
- end
- #----------------------------------------------------------------------------
- # • Renovação dos objetos.
- #----------------------------------------------------------------------------
- alias :pause_system_terminate :terminate
- def terminate
- pause_system_terminate
- @pause_system_screen.dispose
- end
- #----------------------------------------------------------------------------
- # • Atualização dos objetos básico.
- #----------------------------------------------------------------------------
- alias :pause_system_update_basic :update_basic
- def update_basic
- pause_system_update_basic
- trigger?(KEY) {
- $pause_system_flag = true
- @pause_system_screen.visible = true
- @saved_framecount = Graphics.frame_count
- update_for_pause while $pause_system_flag
- }
- end
- #----------------------------------------------------------------------------
- # • Atualização do pause.
- #----------------------------------------------------------------------------
- def update_for_pause
- [Graphics, Input].each(&:update)
- trigger?(KEY) {
- $pause_system_flag = false
- Graphics.frame_count = @saved_framecount
- @pause_system_screen.visible = false
- Input.update
- }
- end
- end
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement