O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Aula 2: O que são métodos

Iniciado por thiago_d_d, 06/12/2012 às 22:30

[box class=catbg]
Aula 2: O que são métodos[/box]
Índice

  • 2.0 - Os métodos do RGSS2
  • 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.
[box class=titlebg]
2.0 - Os métodos do RGSS2
[/box]
       Antes de começar a aula, queria que criasse um projeto no RPG Maker VX, 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 RGSS2, 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á RGSS2!"

       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 RGSS2, 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.
       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!
       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.
       Declarar um método é diferente de chamá-lo. Um método nunca executará sua ação,a não ser que você o chame.
[box class=titlebg]
2.1 - Definindo nosso primeiro método
[/box]
       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.
       No RGSS2, 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 RGSS2 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.)
       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.
       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).
[box class=titlebg]
2.2 - Conclusão
[/box]
       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 RGSS2. 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 RGSS2, pois sem eles nada ocorreria. Por aí ainda vem mais aulas.
[box class=titlebg]
2.3 - Ooooops? Dever de casa?
[/box]
       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.
:wow: :wow: :wow: