Escolar Documentos
Profissional Documentos
Cultura Documentos
Script
O Script é um ingrediente essencial em qualquer tipo de jogo. Mesmo os jogos mais
simples precisam de scripts, seja para responder à entrada do jogador ou organizar um evento.
Além disso, Scripts podem ser usados para criar efeitos gráficos, controlar o comportamento
físico de objetos ou até mesmo implementar um sistema de IA (Inteligência artificial)
personalizado para personagens do jogo.
Na Unity o comportamento de um GameObject é controlado pelos componentes que
estão anexados a eles. Embora os Componentes internos da Unity possam ser muito versáteis,
em diversos cenários precisaremos ir além do que eles podem fornecer para implementarmos
nossos próprios recursos de jogabilidade. A Unity permite que você crie seus próprios
componentes usando scripts. Isso nos permite desencadear eventos, modificar propriedades e
responder a entrada do usuário da maneira que acharmos mais conveniente.
Um novo arquivo será criado dentro do projeto como mostra a figura abaixo:
Podemos renomeá-lo com o nome que quisermos, porém por convenção devemos
utilizar o padrão Pascal Case, onde cada palavra é iniciada com uma letra maiúscula, não
podendo conter espaços em branco entre as palavras assim como caracteres especiais.
Por padrão o arquivo gerado pela a Unity sempre terá o formato a seguir:
Analisando o Script
A imagem abaixo mostra o modelo de Script padrão da Unity, onde podemos dividi-lo
em 3 partes:
Por ultimo temos os métodos Start() e Update(), que serão discutidos mais afundo
adiante.
Para executá-lo devemos voltar para a janela do Unity. Porém antes disso devemos associá-lo a
um GameObject. Crie em nosso projeto um GameObject vazio (GameObject à Create Empty),
depois arraste o arquivo de script para dentro da aba Inspector do GameObject recém criado.
Figura 9 - Adicionando um script a um GameObject
A linguagem C#
C# é uma linguagem de programação, multiparadigma, de tipagem forte, desenvolvida
pela Microsoft como parte da plataforma .NET. A sua sintaxe orientada a objetos foi baseada no
C++, mas inclui muitas influências de outras linguagens de programação, como Object Pascal e,
principalmente, Java.
• Variáveis
• Métodos
Variáveis
Tecnicamente é uma pequena seção da memória do seu computador, que irá armazenar
qualquer informação que lhe for passada. Por exemplo, enquanto um jogo está sendo
executado, seu computador fica monitorando as informações que deverão ser armazenadas,
como seu tipo e valor.
Dica: Sempre que for nomear uma variável, um método ou um novo Script, sempre tente colocar
um nome que melhor o represente. Evite colocar nomes como x ou b1. Prefira nomes como
MovimentacaoDoJogador, velocidadeDoInimigo ou RotacaoDaCamera.
Tipos primitivos
As variáveis guardam informações de um tipo específico. Podemos, por exemplo,
guardar um número inteiro representando a quantidade de pontos de vida de um jogador, um
texto para representar o nome de um personagem ou um número real para representar a
velocidade atual de um veículo.
Modificadores de acesso
A palavra reservada public indica que essa variável pode ser vista e acessada
dentro do painel Inspector da própria Unity (figura abaixo), como também pode ser acessada
por outros scripts.
Porém nem todas as variáveis necessitam ser públicas. Se não houver necessidade de
alterar o valor de uma variável no painel Inspector ou de ser acessado a partir de outros scripts,
não faz sentido colocarmos essa variável como publica, nesse caso utilizaremos o modificador
de acesso private.
Dica: Se você não indicar explicitamente se uma variável será pública ou privada, por padrão, a
variável será, implicitamente, private em C#. É uma boa prática de codificação indicar
explicitamente se uma variável será pública ou privada.
Estruturas de Controle
O mecanismo fundamental da programação é tomar decisões. No cotidiano, fazemos
centenas e possivelmente milhares de decisões por dia. Eles podem ser os resultados de
perguntas simples, como "Preciso de um guarda-chuva hoje?" ou "Posso colocar mais açúcar no
meu café?". Na programação esse tipo de decisão é representado pelo comando if/else.
IF/ELSE
O comando if/else funciona como uma maneira para descrevermos ao computador,
como o código deve ser executado. Por exemplo, a pergunta "está chovendo?" é a uma
condição. Ao planejar seu código, você deve sempre quebrar a tomada de decisões em
perguntas simples que podem ser respondidas apenas por um simples "sim" ou "não". Caso
esteja chovendo, levarei o meu guarda-chuva, se não o deixarei em casa.
Figura 12 - IF/ELSE
Imagine que você está monitorando uma rodovia e precisa verificar o limite de
velocidade dos carros que a atravessam, baseado na velocidade atual do veículo você pode
multa-los caso estejam acima do limite de velocidade, apenas adverti-los caso estejam muito
abaixo do limite ou parabeniza-los caso estejam na faixa adequada.
Arrays
Um array armazena uma coleção sequencial de valores do mesmo tipo, nos termos mais
simples. Podemos usar arrays para armazenar listas de valores em uma única variável. O
tamanho de um array é definido durante a sua criação e não poderá ser modificado. O primeiro
valor de um array estará sempre armazenado na posição 0 e o seu último valor estará na posição
equivalente ao seu tamanho total menos 1.
Estruturas de repetição
Estruturas de repetição permitem executar mais de uma vez um mesmo trecho de
código. Trata-se de uma forma de executar blocos de comandos somente e sob determinadas
condições, mas com a opção de repetir o mesmo bloco quantas vezes for necessário. As
estruturas de repetição são úteis, por exemplo, para repetir uma série de operações
semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de
dados, ou simplesmente para repetir um mesmo processamento até que uma certa condição
seja satisfeita.
WHILE
O while é a estrutura de repetição mais simples. Ele repete a execução de um bloco de
sentenças enquanto uma condição permanecer verdadeira. Na primeira vez que a condição se
tornar falsa, o while não repetirá a execução do bloco, e a execução continuará com a sentença
ou comando que vem logo após o bloco do while, na sequência do programa.
DO WHILE
Esta estrutura tem um comportamento muito semelhante ao while, com uma diferença
crucial: a condição é verificada após executar o bloco de instruções correspondente.
FOR
Na maioria dos casos, algoritmos necessitam executar um bloco de sentenças por um
número específico de vezes. Frequentemente, utiliza-se uma variável para controlar o número
de repetições. Já aprendemos como fazer isso usando o while e o do...while. Estas situações
sempre apresentam uma variável contadora e as quatro etapas seguintes:
Um for sempre está acompanhado de uma variável contadora que armazena quantas
vezes o bloco de sentenças do for deve ser executado. Em seguida avalia a expressão, que
determina se o valor da variável contadora está dentro do limite desejado. Caso positivo, o bloco
de sentenças é executado e, em seguida, é executada a atualização, que altera o valor da variável
contadora. O processo se repete avaliando novamente a expressão.
FOREACH
O loop foreach é muito simples de usar. Ele também possui a sintaxe mais simples.
Usamos a palavra-chave foreach seguida de parênteses neste loop. Dentro dos parênteses, você
deve especificar o tipo de dados que você deseja iterar dentro do seu loop. Escolha um nome
de variável de elemento único. Você pode nomeá-lo da forma que quiser. Esse nome é usado
para acessar essa variável dentro do bloco de loop principal. Após o nome, escrevemos a
palavra-chave in, e em seguida o nome da variável do array ou lista, conforme mostrado abaixo: