Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #------------------------------------------------------------------------
- # Scene_Tutorial
- # * Classe que vai controlar nossas janelas
- #------------------------------------------------------------------------
- class Scene_Tutorial
- #----------------------------------------------------------------------
- # Método main executado toda vez que iniciamos o objeto
- # (Scene_Tutorial.New)
- #----------------------------------------------------------------------
- def main
- # definindo uma variável para nossa janela de help
- # não foi necessário criar esta janela, pois usamos
- # a janela de help padrão dos Scripts RGSS
- @help_window = Window_Help.new
- # informando que queremos a janela de help ativada
- @help_window.active = true
- # informando que queremos a janela de help visível
- @help_window.visible = true
- # definindo uma variável para nossa janela de comandos
- @command_window = Window_TutorialCommand.new
- # associando a janela de help à nossa janela de comandos
- @command_window.help_window = @help_window
- # informando que queremos a janela de comandos ativada
- @command_window.active = true
- # informando que queremos a janela de comandos visível
- @command_window.visible = true
- # definindo uma variável para nossa janela chamada Tela1
- # a janela "Tela1" não usa a janela de help
- @tela1_window = Window_Tela1.new
- # informando que queremos a janela chamada Tela1 desativada
- @tela1_window.active = false
- # informando que queremos a janela chamada Tela1 visível
- @tela1_window.visible = true
- # definindo uma variável para nossa janela chamada Tela2
- @tela2_window = Window_Tela2.new
- # associando a janela de help à nossa janela "Tela2"
- @tela2_window.help_window = @help_window
- # informando que queremos a janela chamada Tela2 desativada
- @tela2_window.active = false
- # informando que queremos a janela chamada Tela2 invisível
- @tela2_window.visible = false
- # executa a transição da tela
- Graphics.transition
- loop do
- # atualiza os gráficos
- Graphics.update
- # atualiza as entradas
- Input.update
- # atualiza scene indefinidamente até a scene ser fechada
- update
- if $scene != self
- # se sair desta scene,
- # para de executar este código
- break
- end # fim do if $scene != self
- end # fim do comando loop do
- # finaliza os gráficos e imagens
- Graphics.freeze
- # fecha todas as janelas que criamos nesta scene
- @help_window.dispose
- @command_window.dispose
- @tela1_window.dispose
- @tela2_window .dispose
- end # fim do método main da classe Scene_Tutorial
- #----------------------------------------------------------------------
- # método update da classe Scene_Tutorial
- #----------------------------------------------------------------------
- def update
- # atualiza todas as janelas que criamos nesta scene
- @help_window.update
- @command_window.update
- @tela1_window.update
- @tela2_window .update
- if @command_window.active
- # se a janela @command_window estiver ativa
- # atualiza os comandos da janela @command_window
- update_command
- elsif @tela2_window.active
- # se a janela @tela2_window estiver ativa
- # atualiza os comandos da janela @tela2_window
- update_command_tela2
- end # fim do if @command_window.active
- end # fim do método update da classe Scene_Tutorial
- #----------------------------------------------------------------------
- # método update_command da classe Scene_Tutorial
- #----------------------------------------------------------------------
- def update_command
- #verifica a tecla pressionada
- if Input.trigger?(Input::B)
- # se a tecla digitada por [esc] ou X
- # toca som de cancelar
- $game_system.se_play($data_system.cancel_se)
- # e volta para o mapa de jogo
- $scene = Scene_Map.new
- elsif Input.trigger?(Input::C)
- # se a tecla digitada por [enter] ou C
- # toca som de decisão
- $game_system.se_play($data_system.decision_se)
- case @command_window.index
- # verifica em que posição está o cursor
- when 0
- # se o cursor estiver na posição 0 (zero)
- @command_window.active = true
- # ativa a janela @command_window
- @help_window.active = false
- # desativa a janela @help_window
- @help_window.visible = true
- # torna a janela @help_window visível
- @tela1_window.active = false
- # desativa a janela @tela1_window
- @tela1_window.visible = true
- # torna a janela @tela1_window visível
- @tela2_window.active = false
- # desativa a janela @tela2_window
- @tela2_window.visible = false
- # torna a janela @tela2_window invisível
- @tela1_window.refresh
- # redefine a janela @tela1_window
- when 1
- # se o cursor estiver na posição 1 (um)
- @command_window.active = false
- # ativa a janela @command_window
- @help_window.active = true
- # ativa a janela @help_window
- @help_window.visible = true
- # torna a janela @help_window visível
- @tela1_window.active = false
- # desativa a janela @tela1_window
- @tela1_window.visible = false
- # torna a janela @tela1_window invisível
- @tela2_window.active = true
- # ativa a janela @tela2_window
- @tela2_window.visible = true
- # torna a janela @tela2_window visível
- when 2
- # se o cursor estiver na posição 2 (dois)
- # toca som de cancelar
- $game_system.se_play($data_system.cancel_se)
- # e volta para o mapa de jogo
- $scene = Scene_Map.new
- end # fim do case @command_window.index
- end # fim do if Input.trigger?
- end # fim do método update_command da classe Scene_Tutorial
- #----------------------------------------------------------------------
- # método update_command_tela2 da classe Scene_Tutorial
- #----------------------------------------------------------------------
- def update_command_tela2
- #verifica a tecla pressionada
- if Input.trigger?(Input::B)
- # se a tecla dgitada por [esc] ou X
- # toca som de cancelar
- $game_system.se_play($data_system.cancel_se)
- @command_window.active = true # ativa a @command_window
- @help_window.active = true # ativa a @help_window
- @help_window.visible = true # torna a @help_window visível
- @tela1_window.active = false # desativa a @command_window
- @tela1_window.visible = false # torna a @tela1_window invisível
- @tela2_window.active = false # desativa a @command_window
- @tela2_window.visible = true # torna a @tela2_window visível
- elsif Input.trigger?(Input::C)
- # se a tecla dgitada por [enter] ou C
- # toca som de decisão
- $game_system.se_play($data_system.decision_se)
- case @tela2_window.index
- # verifica em que posição está o cursor
- when 0
- # se o cursor estiver na posição 0 (zero)
- # variável 1 recebe +1 em seu valor
- $game_variables[1] += 1
- when 1
- # se o cursor estiver na posição 1 (um)
- # variável 1 recebe -1 em seu valor
- $game_variables[1] -= 1
- when 2
- # se o cursor estiver na posição 2 (dois)
- # variável 2 recebe +15 em seu valor
- $game_variables[2] += 15
- when 3
- # se o cursor estiver na posição 3 (três)
- # variável 2 recebe -15 em seu valor
- $game_variables[2] -= 15
- when 4
- # se o cursor estiver na posição 4 (quatro)
- # variável 2 recebe *2 em seu valor
- $game_variables[2] *= 2
- when 5
- # se o cursor estiver na posição 5 (cinco)
- # switch 1 fica ON
- $game_switches[1] = true
- when 6
- # se o cursor estiver na posição 6 (seis)
- # switch 1 fica OFF
- $game_switches[1] = false
- when 7
- # se o cursor estiver na posição 7 (sete)
- # switch 2 muda de valor entre ON e OFF
- $game_switches[2] = (not $game_switches[2])
- when 8
- # se o cursor estiver na posição 8 (oito)
- # variável 3 recebe o valor da variável 1 * variável 2
- $game_variables[3] = $game_variables[1] * $game_variables[2]
- when 9
- # se o cursor estiver na posição 9 (nove)
- # switch 3 fica com valor oposto do Switch 2
- $game_switches[3] = (not $game_switches[2])
- end # fim do case @tela2_window.index
- end # if Input.trigger?
- end # fim do método update_command_tela2 da classe Scene_Tutorial
- end # fim da classe Scene_Tutorial
- #------------------------------------------------------------------------
- # Fim da classe Scene_Tutorial
- #------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement