Cursos / Jogos Digitais / Desenvolvimento com Motores de Jogos II / Aula
Edite o script InstanciarPrefabs, apague os métodos Start e Update para iniciar com um script vazio e adicione as variáveis públicas:
Veja na Figura 16 as variáveis adicionadas no nosso script até agora.
Repare que nesse script a variável prefabs_base é do tipo List
Salve seu script e, voltando ao Unity, certifique-se de que o GameObject InstanciarPrefabs está selecionado, vá até seu inspector e veja que o script adicionado nele agora tem três propriedades, cada uma referente a uma das variáveis criadas, veja na Figura 17.
Vamos alterar o valor dessas propriedades agora. Inicialmente vamos expandir a propriedade “Prefabs_base”, mostrando um item chamado “Size” o qual está com o valor zero. Modifique esse valor para 2, pois temos dois prefabs para usarmos como base (ColetavelCube e ColetavelCylinder). Verifique que, depois disso, dois novos campos foram mostrados, um para cada Prefab. Arraste o Prefab ColetavelCube da sua pasta para o primeiro campo e o Prefab ColetavelCylinder para o segundo campo. Após isso digite na propriedade Discancia_maxima o valor 10 e em Quantidade o valor 5. Isso indica que queremos criar cinco instâncias no total, sendo elas escolhidas aleatoriamente entre os prefabs ColetavelCube e ColetavelCylinder, todas em posições aleatórias, porém no máximo a uma distância de 10 unidades do centro do GameObject InstanciarPrefabs. A Figura 18 mostra como as propriedades do script ficarão depois dessas mudanças.
Edite novamente o script InstanciarPrefabs.cs e agora crie o método Awake() que será utilizado para instanciar os prefabs. O método Awake() é executado imediatamente antes do método Start(). Escolhemos esse método para criar as nossas instâncias, mas também poderia ser o Start() a funcionar normalmente. Nesse caso é apenas uma questão de preferência e organização, escrevemos o código que cria objetos iniciais no Awake e deixamos o Start para o código o qual considera que esses objetos já estão criados. Mas, repetindo, trata-se somente de organização de código, e isso, apesar de importante, é pessoal.
Versão 5.3 - Todos os Direitos reservados