Criação de jogos – Tutorial de Unity 5 – Criado pot CriaJogos http://criajogos.equilibrecursos.net

Hora de começar a programar! Que medão em? Mas fique frio(a), a gente vai programar algo bem simples. Pong não é exatamente um jogo complexo.

Mas antes de começarmos a programar, vamos ligar nosso script, que criamos na parte anterior, ao nosso jogador. Para isso, clique no nome do jogador (player 1) na janela Hierarchy, para que fique selecionado (marcado em azul). Com isso, suas propriedades aparecerão na aba Inspector.

Unity3D

Agora, clique e segure o botão do mouse no script players, e o arraste até a parte vazia na janela inspector, abaixo do botão Add Component. Pode soltar o botão do mouse! E pronto, você adicionou seu script ao player 1. Veja se o resultado ficou igual ao da imagem abaixo (na aba Inspector).

Unity3D

Veja que agora há um novo componente no seu player 1, um campo chamado Players (Script). Isso quer dizer que o script ficou ligado ao player 1 direitinho, e toda modificação que você fizer em seu script vai afetar o objeto player 1. Ou seja, agora podemos começar a criar comandos para que o jogador possa, por exemplo, movimentar o objeto player 1 para cima e para baixo, assim como funciona em um jogo de Pong.

Que tal começarmos essa parte então? Abra novamente seu script no Monodevelop. Vamos criar algumas linhas de código que servirão para movimentarmos nosso pequeno jogador em forma de bastão. Depois nos preocupamos com o outro jogador e com a bolinha!

De agora em diante o esquema será o seguinte: Eu coloco uaqui o código com o qual iremos trabalhar. Você pode copiar e colar no seu script ou tentar passar manualmente (recomendado). De qualquer maneira, depois de te mostrar o código, eu o dissecarei, explicando o que acontece em cada linha.

Vamos começar então! Primeiro, queremos movimentar nosso personagem para cima e para baixo, conforme a tecla que o jogador pressiona, já que Pong é um simples joguinho de tênis cujo objetivo é rebater a bola para o outro lado da quadra em relação ao seu jogador.

Assim, a maneira mais fácil de movimentar o player é manipulando seu transform. Dê uma olhadinha na imagem acima, que mostra a janela Inspector. O primeiro item nela é o Transform. Esse é um componente que trata da posição, rotaçãoescala de todos os objetos do seu jogo. TODOS os objetos têm esse componente! Então, vamos manipulá-lo! Veja o código abaixo:

IMPORTANTE: C# É CASE SENSITIVE, OU SEJA, HÁ LUGAR CERTO PARA LETRAS MAIÚSCULAS E MINÚSCULAS! NÃO FAÇA DIFERENTE!

using UnityEngine;
using System.Collections;

public class players : MonoBehaviour {

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        transform.position += new Vector3 (0, Input.GetAxisRaw ("Vertical"), 0);
    }
}

Antes de eu lhe explicar o código, salve ele, vá para o Unity, rode o jogo apertando o botão Play e veja a mágica! Use as setinhas do seu teclado para cima e para baixo, ou o W e o S para ver o bastãozinho subindo ou descendo na tela. Que lindo!

Unity3D

Dependendo da potência da sua máquina, pode ser que o bastão saia voando para fora da tela sem dar tempo de você entender o que aconteceu, ou pode ser que ele ande bem devagar. Vamos discutir isso mais para frente. Por agora vamos discutir sobre o código.

A linha adicionada ao que tínhamos antes foi essa:

transform.position += new Vector3 (0, Input.GetAxisRaw ("Vertical"), 0);

transform.posistion nada mais é que um pedido de acesso ao componente Transform do objeto player 1, além de sua propriedade position, que nos permite manipular sua posição no mundo virtual que criamos no Unity.

NOTA: No Unity5, o transform é o único componente que pode ser acessado de maneira direta. Veremos como acessar outros componentes mais para frente.

+= significa que estamos adicionando um valor ao transform.position. Para um entendimento melhor desse sinal, é preciso um estudo mais detalhado sobre programação. Por enquanto pense no seguinte: sinal de igual (=) atribui um valor; sinal de mais com igual (+=) adiciona um valor e sinal de menos com igual (-=) subtrai um valor.

new Vector3 precisa de mais estudos em matemática e programação de sua parte, mas basicamente nesse pedaço nós criamos um novo Vector3 (que, simplificadamente, é um espaço no mundo composto pelas coordenadas X, Y e Z). E esse Vector3 recebe três dados: coordenadas X, Y e Z, que estão entre parênteses logo à sua frente:

(0, Input.GetAxisRaw(“Vertical”), 0) são as coordenadas passadas ao novo Vetor3. Adicionamos 0 no eixo X, um valor passado pelo teclado (ou controle) no eixo e 0 no eixo Z.

E, para finalizar, vejamos o Input.GetAxisRaw. Quando chamamos o Input, dizemos ao Unity que queremos trabalhar com algum dado de entrada mandado pelo jogador pelo teclado, pelo mouse ou por um controle de videogame que esteja conectado ao computador. A sua propriedade GetAxisRaw diz que vamos pegar os dados brutos de um eixo vindo desse Input, sem suavizações. E o (“Vertical”), que vem pré configurado no Unity, diz que esse eixo é o vertical, ou o Y. Por isso que, quando apertamos as setinhas para cima ou para baixo, ou então usamos as letras ou S, o bastãozinho que representa o jogador vai para cima ou para baixo na tela.

Complicadinho, né? Mas vá se acostumando, pois essa parte ainda é bem básica e simples! Imagine quando formos ver algo mais complexo! Mas não tenha medo, com o tempo você vai se acostumando e compreendendo melhor como e por qual motivo as coisas acontecem.

Por agora é só! Nos vemos na parte 5!

PARTE 3
PARTE 5

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *