Advertisement
Guest User

Scene_Tutorial do Avatar - Curso de RGSS

a guest
Jan 24th, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.28 KB | None | 0 0
  1. #------------------------------------------------------------------------
  2. # Scene_Tutorial
  3. # * Classe que vai controlar nossas janelas
  4. #------------------------------------------------------------------------
  5. class Scene_Tutorial
  6.  
  7.   #----------------------------------------------------------------------
  8.   # Método main executado toda vez que iniciamos o objeto
  9.   # (Scene_Tutorial.New)
  10.   #----------------------------------------------------------------------
  11.   def main
  12.  
  13.     # definindo uma variável para nossa janela de help
  14.     # não foi necessário criar esta janela, pois usamos
  15.     # a janela de help padrão dos Scripts RGSS
  16.     @help_window = Window_Help.new
  17.     # informando que queremos a janela de help ativada
  18.     @help_window.active = true
  19.     # informando que queremos a janela de help visível
  20.     @help_window.visible = true
  21.  
  22.     # definindo uma variável para nossa janela de comandos
  23.     @command_window = Window_TutorialCommand.new
  24.     # associando a janela de help à nossa janela de comandos
  25.     @command_window.help_window = @help_window
  26.     # informando que queremos a janela de comandos ativada
  27.     @command_window.active = true
  28.     # informando que queremos a janela de comandos visível
  29.     @command_window.visible = true
  30.  
  31.     # definindo uma variável para nossa janela chamada Tela1
  32.     # a janela "Tela1" não usa a janela de help
  33.     @tela1_window = Window_Tela1.new
  34.     # informando que queremos a janela chamada Tela1 desativada
  35.     @tela1_window.active = false
  36.     # informando que queremos a janela chamada Tela1 visível
  37.     @tela1_window.visible = true
  38.  
  39.     # definindo uma variável para nossa janela chamada Tela2
  40.     @tela2_window = Window_Tela2.new
  41.     # associando a janela de help à nossa janela "Tela2"
  42.     @tela2_window.help_window = @help_window
  43.     # informando que queremos a janela chamada Tela2 desativada
  44.     @tela2_window.active = false
  45.  
  46.     # informando que queremos a janela chamada Tela2 invisível
  47.     @tela2_window.visible = false
  48.  
  49.     # executa a transição da tela
  50.     Graphics.transition
  51.     loop do
  52.  
  53.       # atualiza os gráficos
  54.       Graphics.update
  55.  
  56.       # atualiza as entradas
  57.       Input.update
  58.  
  59.       # atualiza scene indefinidamente até a scene ser fechada
  60.       update
  61.  
  62.       if $scene != self
  63.         # se sair desta scene,
  64.         # para de executar este código
  65.         break
  66.       end # fim do if $scene != self
  67.  
  68.     end # fim do comando loop do
  69.  
  70.     # finaliza os gráficos e imagens
  71.     Graphics.freeze
  72.  
  73.     # fecha todas as janelas que criamos nesta scene
  74.     @help_window.dispose
  75.     @command_window.dispose
  76.     @tela1_window.dispose
  77.     @tela2_window .dispose
  78.  
  79.   end # fim do método main da classe Scene_Tutorial
  80.  
  81.   #----------------------------------------------------------------------
  82.   # método update da classe Scene_Tutorial
  83.   #----------------------------------------------------------------------
  84.   def update
  85.  
  86.     # atualiza todas as janelas que criamos nesta scene
  87.     @help_window.update
  88.     @command_window.update
  89.     @tela1_window.update
  90.     @tela2_window .update
  91.  
  92.     if @command_window.active
  93.       # se a janela @command_window estiver ativa
  94.       # atualiza os comandos da janela @command_window
  95.       update_command
  96.  
  97.     elsif @tela2_window.active
  98.       # se a janela @tela2_window estiver ativa
  99.       # atualiza os comandos da janela @tela2_window
  100.       update_command_tela2
  101.  
  102.     end # fim do if @command_window.active
  103.  
  104.   end # fim do método update da classe Scene_Tutorial
  105.  
  106.   #----------------------------------------------------------------------
  107.   # método update_command da classe Scene_Tutorial
  108.   #----------------------------------------------------------------------
  109.   def update_command
  110.  
  111.     #verifica a tecla pressionada
  112.     if Input.trigger?(Input::B)
  113.       # se a tecla digitada por [esc] ou X
  114.       # toca som de cancelar
  115.       $game_system.se_play($data_system.cancel_se)
  116.       # e volta para o mapa de jogo
  117.       $scene = Scene_Map.new
  118.  
  119.     elsif Input.trigger?(Input::C)
  120.       # se a tecla digitada por [enter] ou C
  121.       # toca som de decisão
  122.       $game_system.se_play($data_system.decision_se)
  123.  
  124.       case @command_window.index
  125.       # verifica em que posição está o cursor
  126.  
  127.         when 0
  128.           # se o cursor estiver na posição 0 (zero)
  129.  
  130.           @command_window.active = true
  131.           # ativa a janela @command_window
  132.  
  133.           @help_window.active = false
  134.           # desativa a janela @help_window
  135.           @help_window.visible = true
  136.           # torna a janela @help_window visível
  137.  
  138.           @tela1_window.active = false
  139.           # desativa a janela @tela1_window
  140.           @tela1_window.visible = true
  141.           # torna a janela @tela1_window visível
  142.  
  143.           @tela2_window.active = false
  144.           # desativa a janela @tela2_window
  145.           @tela2_window.visible = false
  146.           # torna a janela @tela2_window invisível
  147.  
  148.           @tela1_window.refresh
  149.           # redefine a janela @tela1_window
  150.  
  151.         when 1
  152.           # se o cursor estiver na posição 1 (um)
  153.  
  154.           @command_window.active = false
  155.           # ativa a janela @command_window
  156.  
  157.           @help_window.active = true
  158.           # ativa a janela @help_window
  159.           @help_window.visible = true
  160.           # torna a janela @help_window visível
  161.  
  162.           @tela1_window.active = false
  163.           # desativa a janela @tela1_window
  164.           @tela1_window.visible = false
  165.           # torna a janela @tela1_window invisível
  166.  
  167.           @tela2_window.active = true
  168.           # ativa a janela @tela2_window
  169.           @tela2_window.visible = true
  170.           # torna a janela @tela2_window visível
  171.  
  172.         when 2
  173.           # se o cursor estiver na posição 2 (dois)
  174.  
  175.           # toca som de cancelar
  176.           $game_system.se_play($data_system.cancel_se)
  177.  
  178.           # e volta para o mapa de jogo
  179.           $scene = Scene_Map.new
  180.  
  181.       end # fim do case @command_window.index
  182.  
  183.     end # fim do if Input.trigger?
  184.  
  185.   end # fim do método update_command da classe Scene_Tutorial
  186.  
  187.   #----------------------------------------------------------------------
  188.   # método update_command_tela2 da classe Scene_Tutorial
  189.   #----------------------------------------------------------------------
  190.   def update_command_tela2
  191.  
  192.     #verifica a tecla pressionada
  193.  
  194.     if Input.trigger?(Input::B)
  195.       # se a tecla dgitada por [esc] ou X
  196.       # toca som de cancelar
  197.       $game_system.se_play($data_system.cancel_se)
  198.  
  199.       @command_window.active = true # ativa a @command_window
  200.       @help_window.active = true # ativa a @help_window
  201.       @help_window.visible = true # torna a @help_window visível
  202.       @tela1_window.active = false # desativa a @command_window
  203.       @tela1_window.visible = false # torna a @tela1_window invisível
  204.       @tela2_window.active = false # desativa a @command_window
  205.       @tela2_window.visible = true # torna a @tela2_window visível
  206.  
  207.     elsif Input.trigger?(Input::C)
  208.       # se a tecla dgitada por [enter] ou C
  209.       # toca som de decisão
  210.       $game_system.se_play($data_system.decision_se)
  211.  
  212.       case @tela2_window.index
  213.         # verifica em que posição está o cursor
  214.  
  215.         when 0
  216.           # se o cursor estiver na posição 0 (zero)
  217.           # variável 1 recebe +1 em seu valor
  218.           $game_variables[1] += 1
  219.  
  220.         when 1
  221.           # se o cursor estiver na posição 1 (um)
  222.           # variável 1 recebe -1 em seu valor
  223.           $game_variables[1] -= 1
  224.  
  225.         when 2
  226.           # se o cursor estiver na posição 2 (dois)
  227.           # variável 2 recebe +15 em seu valor
  228.           $game_variables[2] += 15
  229.  
  230.         when 3
  231.           # se o cursor estiver na posição 3 (três)
  232.           # variável 2 recebe -15 em seu valor
  233.           $game_variables[2] -= 15
  234.  
  235.         when 4
  236.           # se o cursor estiver na posição 4 (quatro)
  237.           # variável 2 recebe *2 em seu valor
  238.           $game_variables[2] *= 2
  239.  
  240.         when 5
  241.           # se o cursor estiver na posição 5 (cinco)
  242.           # switch 1 fica ON
  243.           $game_switches[1] = true
  244.  
  245.         when 6
  246.           # se o cursor estiver na posição 6 (seis)
  247.           # switch 1 fica OFF
  248.           $game_switches[1] = false
  249.  
  250.         when 7
  251.           # se o cursor estiver na posição 7 (sete)
  252.           # switch 2 muda de valor entre ON e OFF
  253.           $game_switches[2] = (not $game_switches[2])
  254.  
  255.         when 8
  256.           # se o cursor estiver na posição 8 (oito)
  257.           # variável 3 recebe o valor da variável 1 * variável 2
  258.           $game_variables[3] = $game_variables[1] * $game_variables[2]
  259.  
  260.         when 9
  261.           # se o cursor estiver na posição 9 (nove)
  262.           # switch 3 fica com valor oposto do Switch 2
  263.           $game_switches[3] = (not $game_switches[2])
  264.  
  265.       end # fim do case @tela2_window.index
  266.  
  267.     end # if Input.trigger?
  268.  
  269.   end # fim do método update_command_tela2 da classe Scene_Tutorial
  270.  
  271. end # fim da classe Scene_Tutorial
  272. #------------------------------------------------------------------------
  273. # Fim da classe Scene_Tutorial
  274. #------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement