Tutorial de Programação Básica em Unity – Parte 2 – Executando e usando condições

Vamos aprender como executar o código que criamos no tutorial passado usando o MonoDevelop.

Também incrementaremos um pouco mais o código, adicionando condições para mostrar mensagens quando acabam as vidas.

Executando e usando condições

No tutorial passado aprendemos como criar variáveis e funções. Vamos ver agora como executar o código e como criar condições.

Excutando o codigo no MonoDevelop

Primeiramente, abra o Unity e crie um novo projeto. Escolha a opção 3D.

Agora vamos criar um novo script. No painel “Project“, clique com o botão direito do mouse em cima da pasta Assets e selecione Create -> C# Script. Dê um nome para o seu script.

Abra-o dando duplo clique. Você verá que um outro programa irá abrir: o MonoDevelop. Nós o usaremos para a parte de programação.

monodevelop

Toda vez que você cria um script, ele não vem em branco não. Ele já vem com duas funções: a função Start e a função Update. A função Start é executada uma vez no início do jogo, e a função Update é executada a cada frame do jogo. Vou falar mais sobre elas em um futuro tutorial.

Ok! Sabendo criar o script podemos agora usar o que aprendemos no primeiro tutorial.

O fluxo que vamos usar agora é esse:

  1. Declaramos a variável antes da função Start;
  2. Nós a inicializamos dentro da função Start;
  3. Declaramos a função PerdeUmaVida após a função Update; e
  4. Chamamos a função PerdeUmaVida dentro da função Update.

O código final fica assim:C#


	int vidas;

	// Use this for initialization
	void Start () {
		vidas = 3;
	}
	
	// Update is called once per frame
	void Update () {
		vidas = PerdeUmaVida (vidas);
		print (vidas);
	}

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

Note que, no método Update, tem uma chamada para a função print. Essa chamada é apenas para exibir o resultado da função PerdeUmaVida na tela.

Quase pronto para executar! Só está faltando associar o script que criamos a um objeto no Unity. Assim, ele será executado. Volte ao Unity e arraste o seu script para cima do objeto Camera ou MainCamera. É só arrastar e soltar!

addScript

Para ver o resultado, clique em Window -> Console e execute o jogo, apetando no botão Play.

Veja que rapidamente o valor da variável vidas começa em 2, pois o primeiro print executa apenas após a chamada da função PerdeUmaVida. Depois, vai diminuindo até que você pare a execução do jogo.

Usando IF e ELSE

Normalmente em um jogo, a quantidade de vidas nunca é menor do que 0. O que vamos fazer agora é modificar a função PerdeUmaVida para que ela só subtraia uma vida se o valor de vidas for maior que 0.

Para isso, vamos usar o comando if, o qual é uma palavra em inglês que significa se. O comando if se divide em if (<condição>) { <o que acontece quando a condição é verdadeira> }

A função vai ficar assim:

int PerdeUmaVida(int vidas){
    if (vidas > 0) {
        vidas = vidas - 1;
    }
    return vidas;
}

Execute o código e veja que agora não aparecem mais números negativos na tela. Analisando o código, temos o if, após temos a condição vidas maior que (>) zero e o que vai acontecer se a condição for verdadeira. No nosso caso, vidas é igual a vidas menos um.

Para finalizar o tutorial de hoje, vamos supor que você queria exibir uma mensagem diferente quando vidas for igual a zero.

A condição que vamos fazer vai ser a seguinte: se vidas for maior que zero, print vidas. Senão, print Suas vidas acabaram. Já vimos o Se (if), para fazer o senão usamos else.

Vamos alterar a função Update agora:

void Update () {
    vidas = PerdeUmaVida (vidas);
    if (vidas > 0) {
        print (vidas);
    } else {
        print ("Suas vidas acabaram.");
    }
}

Execute o código e veja que ao invés de 0, veremos o texto Suas vidas acabaram no console. Notem que não existe condição após o else. Se você quiser verificar alguma condição, você pode colocar um if dentro do else ou da seguinte forma:

    if (vidas > 0) {
        print (vidas);
    } else if (vidas == 1) {
        print ("Última vida.");
    } else {
        print ("Suas vidas acabaram.");
    }

A única ressalva aqui é que um if pode existir sem um else, mas um else não pode existir sem um if.

 

É isso aí, pessoal! No próximo tutorial, vamos aprender sobre estruturas de repetição! Fiquem ligados!

Abraços!

Filipe Leal

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.

Send this to a friend