Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos I / Aula
No começo da aula, discutimos os componentes que adicionaríamos ao nosso jogo nas próximas aulas a fim de criarmos nosso primeiro nível. Já configuramos o background, o chão e os limites da fase. Começaremos, agora, a adicionar as plataformas necessárias para chegarmos ao protótipo.
As plataformas serão todas criadas com sprites simples, da mesma maneira como fizemos para criar o chão. A diferenciação entre os seis tipos de plataforma que teremos em nosso jogo acontecerá apenas através de suas cores, além, é claro, de seu comportamento e apresentação.
A primeira plataforma que adicionaremos ao nosso jogo é a mais simples de todas - uma caixa no chão para o usuário poder subir ou passar sobre ela com apenas um pulo simples.
A importância desses objetos mais simples é grande, uma vez que, no início, podem servir como um local de aprendizado para o jogador em relação aos controles e, mais adiante, podem ser a base de puzzles mais complicados e passos mais desafiadores.
Novamente, iniciaremos como fizemos com os outros componentes. Criaremos um novo objeto vazio, chamado Platforms, e adicionaremos, dentro dele, todas as plataformas que utilizaremos no jogo. Não esqueça de posicionar o objeto em (0,0,0) para igualar as coordenadas de seus filhos com as coordenadas do mundo!
Em seguida, adicionaremos uma plataforma como filha desse objeto. No entanto, dessa vez utilizaremos, para a plataforma, uma abordagem um pouco diferente do que vínhamos utilizando anteriormente. Criaremos só uma plataforma e, a partir desta, criaremos um Prefab a fim de construir as outras. Primeiro, criaremos a plataforma, para depois discutirmos como funciona um Prefab e, então, criá-lo!
Em nossa pasta Assets -> Sprites criaremos o nosso novo sprite. Para fazer isso, clique com o botão direito na pasta Sprites e selecione a opção Create -> Sprite -> Square. Chame de Platform, o novo sprite criado. Clicaremos sobre ele e o arrastaremos até o nosso novo objeto vazio Platforms, na aba Hierarchy. Isso criará um novo sprite quadrado, com o nome Platform, em nossa cena. Altere o nome do GameObject criado para Box. A partir desse objeto será construída a nossa primeira caixa.
A primeira coisa a ser feita é alterar a cor para aquela que havíamos demonstrado em nossa lista, feita no início da aula. A cor da caixa, especificamente, era R=0, G=109, B=109 ou #006D6DFF em Hex. Para acessar a troca de cores através de RGB ou Hex, basta clicar na propriedade Color, do Sprite Renderer de nosso objeto, e então digitar esses valores no campo indicado pelas letras R, G e B ou no campo Hex Color. A Figura 7 exibe essa operação.
Com a cor escolhida, o próximo passo é posicionar o nosso objeto adequadamente e o escalar. Para esse tipo de plataforma, utilizaremos a posição (X, -4.5, 0), com a escala (3,3,0). Essa escala permite ao jogador, se as configurações do Robô estiverem como estão no meu projeto, pular em cima da caixa utilizando apenas um pulo.
Já a posição -4.5 garante que a caixa parecerá em contato com o chão, sem necessariamente parecer dentro dele. Inclusive, para evitar qualquer problema de corte visual, a plataforma deve ser posicionada na segunda camada, através da propriedade Order in Layer, com o valor 1. O background faz parte da primeira camada, ficando sempre atrás de tudo e tendo o valor 0 dessa propriedade, enquanto o chão fica à frente e deve ter, em cada um dos objetos Floor, o valor 2 para a ordem.
Outro detalhe muito importante diz respeito à Layer! A camada da qual a caixa faz parte deve ser a mesma do chão, para permitir ao personagem pular a partir dela e permitir à animação reconhecer que o personagem está apoiado em um solo e poder ser exibida corretamente, concorda? Então, vamos lá na caixa, na opção Layer, alterar o seu valor para Ground, que é a camada representante do solo e buscada no script de nosso Player. Com isso, a caixa está criada e (quase) pronta para ser utilizada no jogo. Podemos vê-la posicionada na Figura 8.
Agora, no entanto, faremos algo um pouco diferente com essa caixa. Após configurar sua cor, sua ordem de renderização e suas propriedades de Transform, estamos prontos para transformá-la em um Prefab de objetos desse tipo, ao invés de sair duplicando-a. Mas o que é um Prefab?
Versão 5.3 - Todos os Direitos reservados