Battle Maker

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte para criação de Jogos


    Sistema de Pause com "Parar BGMs e BGSs, e com a tecla PAUSE/BREAK do teclado"

    jiraya
    jiraya
    Administrador
    Administrador


    Mensagens : 1299
    Credibilidade : 54

     Sistema de Pause com "Parar BGMs e BGSs, e com a tecla PAUSE/BREAK do teclado" Empty Sistema de Pause com "Parar BGMs e BGSs, e com a tecla PAUSE/BREAK do teclado"

    Mensagem por jiraya Sáb Jan 15, 2011 1:32 pm

    [autor: jonathan_25 ]
    Sistema de Pause
    Aqui estou eu para disponibilizar!!!
    (Eu acho que o 1º script que eu crio)

    [Introdução]
    Um sistema simples de PAUSE, com a tecla "PAUSE/BREAK" do teclado e com parada e recomeço na reprodução do BGM e BGS do mapa.
    Imagem:
    [Script]
    Código:
    #=========================================================
    #jonathan_25 Pause Script - Criado por jonathan_25
    #O jogo pausa e cobre a tela com sua windowskin
    #(Para ficar mais escura a tela), e Pára os sons
    #BGM e BGS, e recomeçam ao despausar. PS: Se forem
    #BGMs ou BGSs, que não estejam na configuração do Mapa, não
    #serão "re"produzidos depois que despausar. e ainda você pode
    #pausar o jogo com a tecla "PAUSE/BREAK" do teclado.
    #=========================================================
    class Window_paused < Window_Base
    def initialize
    super (-4, -4, 648, 488)
    self.opacity = 255
    self.back_opacity = 160
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
    end

    def refresh
    self.contents.clear
    self.contents.draw_text(0, -8, self.width - 40, 32, "Paused")
    end
    end
    #Aqui é adicionado a tecla "PAUSE/BREAK" ao script
    module Input
    $R_Key_PAUSE = 0x13 # PAUSE
    GetKeyState = Win32API.new("user32","GetAsyncKeyState",['i'],'i')
    module_function
    def keyboard(rkey)
    GetKeyState.call(rkey) & 0x01 == 1
    end
    end
    class Scene_Pause
    def main
    Audio.me_stop
    Audio.bgs_stop
    Audio.bgm_stop
    Audio.se_stop
    @spriteset = Spriteset_Map.new
    @playtime_window = Window_paused.new
    Graphics.transition
    loop do
    Graphics.update
    Input.update
    update
    if $scene != self
    break
    end
    end
    Graphics.freeze
    @playtime_window.dispose
    @spriteset.dispose
    end
    def update
    if Input::keyboard(0x13)
    $scene = Scene_Map.new
    end
    @playtime_window.update
    @spriteset.update
    end
    end
    class Scene_Map
    alias pause_update update
    def update
    $game_map.update
    $game_map.autoplay
    pause_update
    if Input.keyboard(0x13)# tecla PAUSE/BREAK do teclado
    $scene = Scene_Pause.new
    end
    end
    end
    [/box]
    Acho que não precisa de Demo já que tem uma "Imagem de exemplo" do script.
    Eu testei e não encontrei nenhum BUG, qualquer reclamação, responda no Tópico.

      Data/hora atual: Dom Nov 24, 2024 3:19 pm