unity script

Download Unity Script

Post on 06-Aug-2015

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

Fbio Souza fapers@ig.com.br Tutorial em Unity3D

1

SumrioIntroduo criao de scripts com Unity .................................................................................................................. 2 1. Objetivos deste tutorial ....................................................................................................................................... 3 2. Pr-requisitos ...................................................................................................................................................... 3 3. Converses do Unity............................................................................................................................................ 3 4. A entrada do jogador .......................................................................................................................................... 3 Nosso primeiro script. ............................................................................................................................................. 4 Colocar o script ................................................................................................................................................... 5 deltaTime ............................................................................................................................................................ 5 5. Conectando Variveis ......................................................................................................................................... 6 6. Acessando Componentes .................................................................................................................................... 7 Faz-lo com o cdigo .......................................................................................................................................... 8 7. Instanciar .......................................................................................................................................................... 10 8. Depurao ......................................................................................................................................................... 11 Log .................................................................................................................................................................... 11 Watch................................................................................................................................................................ 12 9. Tipos comuns de script ...................................................................................................................................... 12 FixedUpdate() ................................................................................................................................................... 13 Awake() ............................................................................................................................................................. 13 Start() ................................................................................................................................................................ 13 OnCollisionEnter() ............................................................................................................................................. 13 OnMouseDown() ............................................................................................................................................... 13 OnMouseOver()................................................................................................................................................. 13

Fbio Souza fapers@ig.com.br Tutorial em Unity3D

2

Introduo criao de scripts com Unity

Scripting uma parte essencial da Unity que define o comportamento do seu jogo. Este tutorial ir introduzir os fundamentos da programao de scripting utilizando Javascript. No necessrio conhecimento de JavaScript para seguir este tutorial. Tempo para concluir: 2 horas. Autor: Graham McAllister Tradutor: Fbio Souza

Fbio Souza fapers@ig.com.br Tutorial em Unity3D

3

1. Objetivos deste tutorial

Script define um comportamento de jogos (ou regras) na Unity. A programao recomendada para a Unidade Javascript, C # ou Boo. Este tutorial ir cobrir os fundamentos de scripting na Unity e tambm introduzir elementos chave da Interface (API). Voc pode pensar da API como cdigo que j foi escrito para lhe permite concentrar em seu jogo e tambm acelera o tempo de desenvolvimento. Uma boa compreenso dos princpios bsicos essencial para aproveitar o poder pleno da Unity.2. Pr-requisitos

Este tutorial concentra-se no elemento script da Unity, assumimos que voc j est familiarizado com a interface Unitys. (Se no voc deve ler o tutorial da Interface Unity). A fim de tornar o script mais fcil de entender, prefervel ter um editor de cdigo que tenha uma sintaxe com suporte a JavaScript. Isso significa que so palavras reservadas (sintaxe usada pelo prprio Javascript) com cor diferente da definida pelo usurio. Um desses editor SubEthaEdit. NB: Neste tutorial qualquer texto que seja executado pelo usurio comea com um -.3. Converses do Unity

Antes de comear, vale a pena mencionar algumas convenes na Unity. Variveis - comeam com uma letra minscula. As variveis so usadas para armazenar informaes sobre todos os aspectos de um jogos. Funes - comeam com uma letra maiscula. Funes so blocos de cdigo que so escritos uma vez e pode ser reutilizado quantas vezes for necessrio. Classes - comeam com uma letra maiscula. Estes podem ser pensados como conjuntos de funes. Dica: Ao exemplo de cdigo a leitura ou a API da Unity, prestar muita ateno para a primeira letra das palavras. Isso ajudar voc a compreender melhor a relao entre os objetos.4. A entrada do jogador

O nosso primeiro programa permitia que o usurio se deslocasse no mundo simples. Definindo o cenrio:

Fbio Souza fapers@ig.com.br Tutorial em Unity3D

4

- Inicia o Unity. Em primeiro lugar, vamos criar uma superfcie para o usurio caminhar. Para criar a superfcie pode ser utilizado uma forma de cubo achatado. - Crie um cubo e sua escala suas dimenses x, y, z para 5, 0.1, 5, respectivamente, ele agora deve assemelhar a um apartamento grande plano. Renomeie esse objeto para Plane na Vista Hierarquia. - Crie um segundo cubo e coloque-o no centro deste plano. Se voc no consegue ver os objetos na Visao do seu jogo alterar a cmara principal para est visvel. Mude o nome do objeto para Cube1. - Voc tambm deve criar um ponto de luz e coloc-lo acima dos cubos de modo que fiquem visvel. - Salve a cena selecionando Arquivo > Salvar como e d um nome ao jogo.Nosso primeiro script.

Est pronto para iniciar a programao de jogos? Vamos permitir que o jogador se mova em todo o mundo do jogo, controlando a posio da cmera principal. Para isso vamos escrever um script que ir ler a entrada do teclado, ento associamos o script cmara principal (mais sobre isso veremos na prxima seo). - Criaremos um script vazio. Selecione o menu Assets > Create > Javascript e renomeie para Move1 no painel Project. - D um duplo clique sobre o script Move1 e ir abrir a funo Update() j inserido (este o comportamento padro), vamos inserir nosso cdigo dentro dessa funo. Qualquer cdigo que voc insere dentro da funo Update() executado a cada frame. Para mover um objeto de jogo na Unity precisamos alterar a posio dos seus Assets nas funes transform , e Translate pertencente ao transformar a vontade vamos fazer isso. A function Translate possui 3 parametros, x, y e z para movimentar. Como queremos controlar o GameObjects cmara principal com as teclas do cursor, simplesmente anexamos o cdigo para determinar se as teclas do cursor esto sendo pressionadas para os respectivos parmetros:

Fbio Souza fapers@ig.com.br Tutorial em Unity3D

5

function Update () { transform.Translate(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); } A funo Input.GetAxis() retorna valores entre -1 e 1, por exemplo, no eixo horizontal, O cursor para esquerda move a chave mapa -1 e o direito mapa 1. Como no estamos interessados em mover a cmara no eixo y(para cima) ento o parmetro 0. . O eixo horizontal e vertical so pr-definidos nas configuraes de entrada, os nomes e as teclas mapeadas para eles podem ser facilmente alterados em Edit > Project Settings >Input. - Abra o Javascript Move1 e digite o cdigo acima, preste muita ateno nas letras. Salve o script e fecha o editor.Colocar o script

Agora que o nosso primeiro script est escrito, como que podemos dizer para a Unity que nosso GameObjects deve ter este comportamento? Tudo o que temos a fazer anexar o script ao GameObjects que queremos que apresenta esse comportamento. - Para fazer isso, clique sobre o objeto que deseja que tenha este comportamento no script. No nosso caso, esta a cmera principal, e voc pode selecion-lo tanto no painel hierarquia ou na visualizao da cena. - Em seguida clique no menu Components > Scripts > Move1. Isso ir atribui o script para a cmera, voc deve observar que o componente Move1 agora aparece no painel Inspector para a cmara principal. Dica: Voc pode tambm atribuir um script para um objeto do jogo, arrastando o script a partir do painel Project para o Objeto na viso da cena. - Execute o jogo (pressione o cone de reproduo), voc deve ser capaz de mover a cmera principal, com as teclas do cursor ou W, S, A, D. Voc deve ter notado que a cmera se moveu muito rpido, vamos olhar a melhor maneira de. controlar a velocidade da cmera.deltaTime

Como o cdigo anterior est dentro da funo Update a cmera se movia a uma velocidade medida em metros por frame. melhor, entretanto, assegurar que o seu GameObjects move no ritmo mais previsvel de metros por segundo. Para conseguir is