Tutorial de Programação Básica em Unity – Parte I

Vamos começar do zero e aprender a programar scripts em C# no Unity! Este tutorial é para quem está começando e nunca viu nada de programação!

Antes do começar é bom que você tenha instalado o Unity 5 na sua máquina. Essa vai ser a versão que vou usar nesse tutorial.

Como referência estou usando o próprio site do Unity. Você pode acompanhar alguns tutorias aqui (em inglês): http://unity3d.com/learn/tutorials/topics/scripting

Agora sim! Vamos começar!

Programação Básica no Unity

Os scripts no Unity são usados para alterar o comportamento de GameObjects, alterando cores, velocidade, etc. Nesta série de tutoriais vou ensinar a linguagem de programação C#, mas tenha em mente que o Unity suporta JavaScript e Boo também.

Variáveis e Funções

O primeiro passo para entrar no mundo da programação é entender o conceito básico de variáveis e funções.

Variáveis

Vamos começar falando de variáveis. O que é uma variável?

Variáveis são objetos que guardam um valor.

Para usar variáveis precisamos primeiro declará-las. A declaração segue este padrão:C#

[Tipo da variável] [Nome da variável];

ou

[Tipo da variável] [Nome da variável] = [Valor inicial da variável];

Exemplos das duas formas de declarar uma variável:

int vidas;

ou

int vidas = 3;

Onde, int é o tipo da variável que significa que ela é um número inteiro. Existem diversos tipos diferentes de variáveis e, durante o tutorial, eu vou explicar sobre outros tipos que você pode usar.

Depois vem o nome da variável, que no caso é vidas. 

No primeiro exemplo terminamos a declaração com um ponto-e-vírgula (;). Se você esquecer dele, você vai ter um erro de compilação.

No segundo exemplo nós atribuímos um valor inicial de 3 vidas.

Ok! Temos a nossa primeira variável no jogo! \o/

Mas não podemos fazer muita coisa com ela. Você precisa de algo a mais para controlar o seu jogo. Você precisa de funções.

Funções

As funções são rotinas que processam uma sequência de passos e podem ou não retornar um objeto. Complicado? Na prática fica mais fácil.

Segue um exemplo de função que faz o jogador perder uma vida:1154_getlife_art_kelly

int PerdeUmaVida(int vidas) {
return vidas - 1;
}

Vamos analisar a estrutura desse função:

A primeira parte é o tipo do objeto que essa função vai retornar. Nesse caso, int, ela vai retornar um número inteiro.

A segunda parte é o nome da função, que eu chamei de PerdeUmaVida. Note que não é possível adicionar espaços no nome de variáveis e funções.

A terceira parte são os parênteses. Eles indicam que a função recebe algumas variáveis como parâmetros, sendo usadas dentro da função. Você pode ter quantos parâmetros quiser, até mesmo nenhum. Nesse caso, apenas abrimos e fechamos os parênteses sem nada dentro: PerdeUmaVida()

Delimitamos o conteúdo da função usando chaves: { }

Tudo o que estiver dentro das chaves é parte da função.

Por fim, se você disse que a função vai retornar um objeto, colocando um tipo no início dela, obrigatoriamente você tem que ter um return na função, retornando um objeto do mesmo tipo definido na primeira parte.

No nosso caso, eu estou retornando vidas – 1, que pega o valor do parâmetro vidas e diminui 1 unidade.

Para usar a função usamos o nome dela seguido dos parâmetros dentro dos parênteses. Eles devem estar na mesma ordem em que aparecem na declaração da função, separados por vírgula.

Exemplo:

O jogador ter 3 vidas mas vai perder uma:
 
 PerdeUmaVida(3);
 

PerdeUmaVida vai retornar o número 2, que é 3 – 1.

Outra forma de fazer isso é, ao invés de usar o número 3 como parâmetro, passamos uma variável do mesmo tipo.

Exemplo:
 
 int vidas = 3;
 vidas = PerdeUmaVida(vidas);
 
Opa! Declarei uma variável chamada vidas, e logo em seguida mudei o valor dela para ser o valor que a função PerdeUmaVida retorna. No final da execução desse código, a variável vidas vai ter o valor 2.

Vou parar por aqui! No próximo tutorial, vamos aprender mais coisas sobre funções e variáveis, além de como vocês vão poder testar esse código no Unity!

Abraços, pessoal!

Filipe Leal

Bacharel em Ciência da Computação pela UDESC e certificado como Microsoft Specialist. Atualmente trabalha como programador na Basecorp Learning Systems. Reside em Edmonton - Canadá. Faixa preta com 1o. grau em Pa-kua, tem preferência por jogos de Ação/Aventura, RPG, Luta e Party Games. Seu jogo favorito é The Legend of Zelda - Ocarina of Time.