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

arrow_back Aula 09 - Desenvolvendo a Primeira Fase - Parte 1

2. Criando o Level no Unity

2.1 Criando o Background

O passo seguinte, agora, é criar backgrounds o bastante para conseguirmos cobrir toda a nossa cena. Quantos serão necessários para isso? Não saberíamos inicialmente! Poderíamos adicioná-los à medida que precisássemos. No entanto, como já fiz o projeto completo, sei que serão necessários onze backgrounds para podermos fazer todo o nível. Assim, criaremos os onze e os posicionaremos adequadamente. A maneira mais fácil de fazer isso é configurar um background como queremos e simplesmente duplicá-lo o quanto for necessário!

Após alguns testes, chegamos à conclusão de que a melhor configuração para o background é utilizar a escala (5,4,1), com a posição sendo (X, 4, 0), na qual X corresponde ao posicionamento em X de cada um deles. Como faremos o nosso nível de -300 a 300, os valores de X variarão dentro dessa faixa. Clique no background e o arraste para o objeto vazio, tornando-o, assim, filho dele.

Feito isso, configuraremos o nosso background atual para o transform (-275, 4, 0), com a escala citada. Em seguida, podemos clicar com o botão direito no GameObject e selecionar a opção Duplicate. Desse modo, uma nova instância do Background aparecerá, exatamente igual a anterior. Repetiremos esse processo mais nove vezes, totalizando onze backgrounds. Todos eles terão o mesmo tamanho já definido e a mesma posição. Precisaremos, apenas, variar o X para criar o nosso cenário! Utilizaremos os seguintes valores para cada um dos onze X: -275 | -225 | -170 | -115 | -60 | 0 | 55 | 110 | 165 | 220 | 275. O resultado desse posicionamento pode ser visto na Figura 4. Backgrounds posicionados, filhos de um objeto vazio.

Alteraremos, também, a posição do chão para (0,-6.5,0) e sua escala para (600, 1, 1). Com isso, nosso personagem já pode percorrer todo o cenário no chão gigante! Embora ele ainda não ter nada para fazer, podemos admirar a paisagem e utilizar o espaço maior a fim de ver a animação de caminhada várias vezes! :D

Os que resolverem se aventurar pela longa caminhada, chegarão até o início da fase (ou até o fim, dependendo do lado escolhido) e aí... nada! Caiu! Isso não costuma acontecer em jogos por aí, não é? Eles, usualmente, possuem um começo e um fim na fase, de modo a não ser possível passar de determinados pontos. Adicionaremos, agora, um começo e um fim ao nosso jogo!

2.2 Adicionando um Começo e um Fim à fase

Já temos uma fase construída! Tudo bem ela não ser a mais divertida do mundo, permitindo a você apenas andar para um lado e para o outro, mas já funciona! Falta, no entanto, haver um fim e um começo nessa fase. Pontos em que não poderemos mais voltar ou avançar. O que fazer com esses pontos veremos nas aulas seguintes, agora, porém, aprenderemos como podemos definir cada um deles.

As bordas, ou limites, são conhecidas, em inglês, como Boundaries. Devemos adicionar uma dessas, pelo menos, ao início e ao fim da fase. Elas funcionam como pontos invisíveis de bloqueio ao usuário, indicando não haver nada além dali. Podemos, também, utilizar esses pontos como marcadores, mas não é o objetivo desta aula. Por enquanto, apenas bloquearemos o personagem de se mexer.

Para isso, como fizemos com os backgrounds e com todos os objetos adicionados nesta aula, iniciaremos criando um novo elemento vazio, posicionando-o em (0,0,0) e alterando o seu nome, dessa vez, para Boundaries. Em seguida, criaremos mais dois objetos vazios, agora como filhos de Boundaries, para podermos definir os limites da fase. Devemos chamar esses objetos filhos de BoundaryStart e BoundaryEnd.

A esses elementos filhos, adicionaremos um Box Collider 2D em cada, a fim de o player colidir com eles ao alcançá-los e não poder passar dali. Esses objetos devem ser altos, para evitar que o personagem consiga saltar por cima. Eles não precisam, no entanto, serem largos.

Para cumprir esses requisitos, configuraremos os objetos com a escala (1,40,1) e com o posicionamento, para o BoundaryStart, (-250, 12.5, 0) e, para o BoundaryEnd, (285, 12.5, 0). Assim, o personagem será limitado ao ponto -250 no começo e ao ponto 285 no final. Chegando em qualquer uma dessas localidades, ele colidirá com o nosso objeto invisível e por lá ficará. A Figura 5 mostra, marcados em verde devido aos seus colisores, a adição desse grupo em nossa hierarquia e o posicionamento em que os elementos estão em nossa cena.

Elementos de fronteira posicionados na cena para evitar que o personagem saia da área de jogo desenvolvida.

Com a adição desses elementos, nosso personagem já está confinado à nossa fase. Mesmo sendo apenas um nível vazio, com um background e um chão bem longo, já é possível garantir que o nosso personagem não sairá de lá... vivo! Muahahaha

O próximo passo é exatamente este: daremos ao personagem uma maneira para sair de lá. Abriremos buracos no chão para ele poder cair. O que acontecerá depois de sua queda são cenas dos próximos capítulos, mas os buracos a serem adicionados veremos agora!

Versão 5.3 - Todos os Direitos reservados