Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula

arrow_back Aula 02 - Entradas do jogador e movimento

Adicionando movimento em um objeto - pt.2

Nomeie o script para “MoveObjeto” e pressione Enter. Isso fará com que um script C# em branco (na verdade com um código padrão) seja adicionado nos seus Assets, os quais são os componentes do seu jogo. Na Figura 6 você pode ver o script adicionado com sucesso na pasta Assets. Com o novo script criado clique duas vezes nele para abrir no MonoDevelop.

Script C# adicionado ao projeto.

Atenção

O Unity suporta tanto o MonoDevelop quanto o Visual Studio como editor de código fonte. Nesse curso iremos utilizar o MonoDevelop mas todos os código apresentados também podem ser escritos no Visual Studio sem problema algum. Para modificar o editor padrão de códigos de Unity vá no menu Edit->Preferences, escolha a opção “External Tools” e lá a propriedade “External Script Editor” pode ser alterada entre o MonoDevelop e o Visual Studio (se esse estiver instalado na sua máquina). A escolha do editor é totalmente de sua livre opção.

Assim que você der um duplo clique no script MoveObjeto.cs ele abrirá no editor, como mostrado na Figura 7.

Script aberto no editor MonoDevelop.

Observe que inicialmente o seu script já vem com algum código. Basicamente o Unity já adiciona três namespaces comumente utilizados com a diretiva “using”. Namespaces é um modo de organizar as classes em C# em grupos designados com um nome único, de modo a evitar ocorrerem problemas, como conflitos de nomes. Usando a diretiva “using” em um arquivo .cs, você está informando ao compilador que deseja acessar as classes daquele namespace sem precisar digitar o caminho completo para se referenciar ao seu nome. Os namespaces adicionados são System.Collections, System.Collections.Generic e UnityEngine. Os dois primeiros permitem você utilizar funcionalidades da linguagem C# relativa ao uso de coleções, como listas, por exemplo. O UnityEngine adiciona os recursos específicos do motor de jogos Unity3D ao seu script para você poder utilizar suas funcionalidades. A Figura 8 mostra em detalhes esses três namespaces.

Namespaces padrão de um script C# no Unity.

Após os namespaces o Unity adiciona uma nova classe que tem o mesmo nome do arquivo que você criou (sem a extensão, claro). Você não pode modificar o nome dessa classe (MoveObjeto) a não ser que também renomeie o arquivo para que o mesmo tenha o mesmo nome dela. A classe adicionada herda de MonoBehavior, que é uma classe base com diversas funcionalidades do motor de jogos Unity3D e que permite que a mesma seja associada a objetos na sua cena.

Dentro da classe MoveObjeto por padrão são adicionados dois métodos (Start e Update). Esses métodos são especiais e são executados pelo Unity durante a execução do seu jogo em momentos diferentes. Veja a Figura 9 destacando o código citado.

Esqueleto padrão de uma classe C# em um script no Unity 3D.

Versão 5.3 - Todos os Direitos reservados