Forums » RGSS

[Básico] Aula 2: O que são métodos

    • 683 posts
    4 de junho de 2015 12h43min21s ART

    Aula 2: O que são métodos

     

    Imagem Postada
    www.mundorpgmaker.com
    This work is licensed under a Creative Commons Atribuição-Uso não-comercial-Compartilhamento pela mesma licença 3.0 Unported License.

     

    Índice de todas as aulas aqui

     

    Índice
    • 2.0 - Os métodos do RGSS
    • 2.1 - Definindo nosso primeiro método
    • 2.2 - Conclusão
    • 2.3 - Ooooops? Dever de casa?
    *Declarar é o mesmo que definir aqui na aula.

     

    2.0 - Os métodos do RGSS

     

          Antes de começar a aula, queria que criasse um projeto no RPG Maker XP, só para nossas aulas. Então, depois de criar, delete todos os scripts do projeto, e deixe apenas o Main. Depois, tire todo o código que estiver dentro do Main. Agora, você estará pronto para aprender mais com a aula.


          Então, afinal, o que são métodos? Métodos são coisas que executam ações no RGSS, quando são chamados. E somente isso. Sem os métodos, certamente nada ocorreria no jogo. Quer ver? Vamos chamar um método. Para isso, cole o seguinte código em Main, que agora está vazio:


    p "Olá RGSS!"

          Agora teste o jogo. Aparecerá uma mensagem, correto? No código, chamamos o método "p", informando a ele um texto. Um texto se chama "string" no RGSS, e deve estar entre aspas. O método "p" imprime o texto, ou seja, faz uma ação, como você acabou de ver ao testar o jogo. Hmm, mas espera... Quer dizer que,se digitassemos "explodir" no editor de scripts, o computador explodiria? Errado.


          O computador não sabe de nada do que você "fala" para ele. Por isso, simplesmente digitar "explodir" não faria com o computador explodisse(até mesmo porque nenhum computador explode expontaneamente). Então, como mandar ele fazer uma nova ação, que ele ainda não sabe fazer? Muito fácil! Podemos simplesmente definir um novo método. Quando definimos um método, podemos depois chamá-lo.


    [lohan]

          Qualquer método deve ser definido antes de ser chamado. Por quê? Porque, como eu havia dito,o computador não entende o que você fala para ele, somente pouquíssimas coisas. Mas aí você deve estar se perguntando: eu chamei o método "p" sem definí-lo! Sim, é claro, isso porque o método "p" é um dos poucos métodos que o computador já conhece, ou seja, que não há necessidade de definir.COOL!

    [/lohan]

     

          Um método é sempre definido dessa forma:


    def nome_do_metodo   end

          Entre o "def nome_do_metodo" e o "end",você colocará as ações que o método executa. Por exemplo,ao declarar/definir um método que soma dois números,você colocaria aí ações que fariam com que esses números fossem somados.


    [lohan]

          Declarar um método é diferente de chamá-lo. Um método nunca executará sua ação,a não ser que você o chame.

    [/lohan]

     

     

    2.1 - Definindo nosso primeiro método

     

          Então, que tal criarmos nosso primeiro método? Nosso primeiro método fará o seguinte: somará dois números, e depois irá imprimi-lo. Ele se chamará somar. Antes de qualquer coisas, limpe novamente Main, e o deixe sem nenhum código. Aqui vai então o código do nosso método, ponha ele em Main:


    def somar(num1,num2)   soma = num1 + num2   p soma end

          Definimos então nosso método somar. Aqui vai a explicação dele. Na primeira linha, começamos a definir nosso método, demos a ele o nome de somar. Após o nome dele, colocamos entre parênteses "num1" e "num2", separando com vírgula. O que isso quer dizer? Quer dizer que, para nosso método executar, ele precisa de dois números: os números que ele vai somar. Parece justamente com o método "p", que precisou que colocassemos uma frase para imprimirmos, sem essa frase, o método "p" não faria sua função.


          No conjunto de ações do nosso método, temos "soma = num1 + num2", isso faz com que a variável soma(uma variável de script parece com uma variável de eventos) assuma o valor da soma dos dois números que o método recebeu ao ser executado. Depois disso, o método "p" é chamado para imprimir o valor dessa soma.


    [lohan]

          No RGSS, existem 5 operações básicas: adição, subtração, multiplicação, divisão  e resto. Seus símbolos são +, -, *, / e %, respectivamente. Essas operações de RGSS são idênticas as operações de matemática, a única diferente é o resto, que retorna o resto da divisão de dois número(exemplo: 2 % 2 é 0.)

    [/lohan]

     

          Agora execute o projeto... Ué, nada aconteceu! Exatamente, como eu havia dito, definir métodos é diferente de chamá-los. Então, depois de declarar nosso método, vamos chamá-lo então. Para isso, adicione mais uma linha ao script:


    somar(5,10)

          Agora execute o projeto. "15" foi impresso,correto? Exato, isso porque ao chamarmos nosso método, passamos para ele 5 e 10 para que eles fossem somados.


    [lohan]

          Não poderíamos ter colocado só "def somar" em vez de "def somar(num1, num2)"? A resposta é NÃO. Colocar "(num1, num2)" indica que nosso método precisa de duas coisas para executar,e toda vez que for chamado deverá receber essas duas coisas. Executar somar sem nada em vez de "somar(num1, num2)" ; no caso "somar(5, 10)" simplesmente não daria certo também,pois ao chamar o método deve se passado a ele os argumentos que ele requer(no caso, dois números).

    [/lohan]

     

     

    2.2 - Conclusão

     

          Então pessoal, espero que tenham gostado da aula. Estou gastando muito do meu tempo para fazer as aulas, e tudo isso para ajudar as pessoas desesperadas que querem aprender RGSS. Sei que nessa aula não fizemos nada de tão impressionante, porém ela é muito importante, pois com ela eu consegui explicar métodos, que são muito importantes para o RGSS, pois sem eles nada ocorreria. Por aí ainda vem mais aulas.

     

    2.3 - Ooooops? Dever de casa?

     

          Todos aqueles que estiverem interessados, aqui vai um dever de casa: faça um método chamado calculos. Esse método deve calcular a soma, subtração, produto e divisão de dois números passados para ele e, depois de calcular tudo isso, ele deve mostrar mensagens seguidas com o método "p" que mostrem esses valores. O dever de casa deverá ser entregue aqui no tópico, para que todos vejam os interessados. Quaisqueres dúvidas sobre a aula, postem aqui.


    [center] :mrm: :mrm: :mrm: