Forums » RGSS

7ª aula de RGSS: Sistaxe, e sprite

    • 683 posts
    2 de junho de 2015 18h31min46s ART

    Hoje falaremos sobre ciclos e depois dos sprites

      7.1: Ciclos
       
     
    Todos os jogos precisão de ciclos para rodarem, durante as aulas de Scenes nós vimos sobre o loop do 
    ele torna um ciclo em sua scene

     

    Spoiler 
    loop do
    # Atualização da tela de jogo
    Graphics.update
    # Atualizar a informaçao de entrada
    Input.update
    # Atualização dos frames
    update
    # Aborta o loop principal se a tela for alterada
    if $scene != self
    break
    end
    end
    

     
      Este ciclo vai rodando durante todo o tempo que o jogo se encontra na scene referente ao script, mas a todo o momento estamos em uma Scene: Scene_Map, Scene_Title... isso significa que a todo tempo em um jogo esta definido em um loop do, menos quando esta carregando a Scene, mas como assim  

    Exemplo: em um script de uma sene começamos com a def main la na def main no final esta definido o loop do assim fica o resto do sistema da  scene atualizando dados apartir do loop do:  # Atualização da tela de jogo, # Atualizar a informaçao de entrada, # Atualização dos frames

     

    veja a conclusão analisando o script dento do "spoiler"

     

    conclusão : o computador carrega o script nele a uma regra para atualizar alguns dodos (loop do), no caso da tela de titulo quando o jogador escolhe a opção "novo jogo"(*), o comando do loop "updat"(**) é executado, que manda o computador fazer o comando "new_game"(*1)  neste comando a tela de titulo é alterada, e então o comando do loop "if $scene != self"(*2) tambem é execultado em "break" manda o computador parar o loop  sendo assim que a tela do jogo é alterada inicia-se um novo loop do  

     

     

    # Dados para iniciação do script
    
      loop do
        # Atualização da tela de jogo
        Graphics.update
        # Atualizar a informaçao de entrada
        Input.update
        # Atualização dos frames
        update # (**)
        # Aborta o loop principal se a tela for alterada
        if $scene != self # (*2)
         break
        end
      end
    
      Def updat
    
        [...]
    
        case command_windo.index
        when 0
          command_newgame#(*)
        when 1
          command_load
        when 2
          command_shutdown
        end
      end
    
      #--------------------------------------------------------------------------
      # Comando: Novo Jogo
      #--------------------------------------------------------------------------
    
      def command_new_game
      
        #Descrição do comando
    
      $scene = Scene_Map.new# (*1)
      end
    [...] 
     

    7.2: Sprites

     

    Para  o quê serve a class_sprite ? serve para  inserir, editar, mover imagens

     

    Só isso ? parece ser pouca coisa... mas não é, as coisas que da para fazer com as imagens são muitas, hoje não precisaremos ver tanta coisa assim

     

    Agora iremos falar sobre mover as imagens, em sua class Scene_Title veja as linhas 36 e 37

     

    Logo apos a linha 37 cole estes comando e teste seu jogo...

    @sprite.x = + 300
    @sprite.y = - 300 

    teste o jogo e veja oque aconteceu ...

    ela saiu do lugar    isso foi por que alteramos as coordenas x e y, se voce aumenta a coordenada x move para a direita

    se você diminui a coordenada y move para acima. na def update  cole: 

    @sprite.ox+ = 1

    teste o jogo...

    a imagem saiu da tela, mas a um comando que faz ela voltar para isto basta trocar @sprite = Sprite.new por @sprite = Plane.new teste o jogo  a imagem vai e volta.