Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
Para adaptar o nosso InstanciarPrefabs.cs para que a área de geração seja retangular, precisamos inicialmente trocar a variável float distancia_maxima por duas outras:
Assim poderemos configurar essas duas variáveis separadamente. Para isso realize os seguintes passos:
A declaração de suas variáveis deve ficar como na Figura 5.
Agora vamos modificar a nossa função Awake para usar a largura e o comprimento no lugar de distancia_maxima. Não é algo muito difícil, pois o código está bem organizado. Repare que distancia_maxima é atualmente utilizada para a definição da posição da instância do prefab a ser criado (ver Figura 6).
Repare na Figura 6 que a variável distancia_maxima está destacada pelo Monodevelop. Isso ocorre pelo fato de que ela não existe mais, já que a removemos.
Trocaremos as duas ocorrências de distancia_maxima por (largura/2) na primeira linha em que ela aprece. Por que dividir largura por 2? Isso se dá pelo fato de a posição X variar do centro da área + para um lado e - para o outro, ou seja, para cada um desses lados precisamos variar a metade da largura. A mesma coisa para a variável comprimento e o eixo Y. A Figura 7 mostra em azul a área de geração retangular que estamos querendo criar, assim como a representação das variáveis largura e comprimento em vermelho e a metade do valor dessas variáveis de cada lado do centro em verde.
Para utilizar a variável largura modifique a linha:
Para que fique assim:
Para utilizar a variável comprimento, modifique a linha:
Para que fique assim:
E aí, tudo bem até aqui? É basicamente essa a única mudança no script para que ele instancie prefabs em uma área retangular. Lembre-se que qualquer dificuldade ou questionamentos podem ser esclarecidos nos encontros presenciais ou através da criação de tópicos no Moodle para discutir sobre o assunto.
Versão 5.3 - Todos os Direitos reservados