Obter um Componente
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 30 de 67.
Um GameObject é um contêiner de componentes: um Transform, um MeshRenderer que o desenha, um collider, seus scripts. GetComponent<Renderer>() retorna o componente desse tipo no mesmo objeto e, por meio dele, seu script altera o que esse componente faz. transform é um atalho pronto para o Transform; todos os outros componentes você busca por conta própria.
Este cubo fica vermelho quando a tecla Espaço é pressionada. Ele busca seu Renderer uma vez, em Start(), e o mantém em um campo: GetComponent pesquisa os componentes do objeto cada vez que é chamado, e o resultado não muda.
Renderer rend;
void Start()
{
rend = GetComponent<Renderer>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rend.material.color = Color.red;
}
}rend.material fornece a este objeto sua própria cópia do material na primeira vez que você o usa, então os outros objetos que compartilhavam o material mantêm sua cor. Unity nomeia algumas cores para você, como Color.red, Color.green, Color.blue, Color.yellow e Color.gray; new Color(r, g, b) cria qualquer outra, com cada componente de 0 a 1.
Desafio
MédioA luz de sinalização começa vermelha. Cada clique avança para a próxima cor, nesta ordem: vermelho, amarelo, verde, depois vermelho novamente, e assim por diante.
Obtenha o Renderer uma vez, em Start(), e mantenha-o em um campo. Use Color.red, Color.yellow e Color.green.
Pressione Play, clique algumas vezes no jogo e, em seguida, Check.
Experimente você mesmo
using UnityEngine;
public class SignalLight : MonoBehaviour
{
void Start()
{
}
void Update()
{
// A cada clique: vermelho, depois amarelo, depois verde e então vermelho novamente
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Noções básicas de scripting no Unity
1Seu primeiro script
Olá, UnityPosicione o cuboMova a cada quadroGire a cada segundoConduza com as teclasRecapitulando: dirija o cubo4Vetores
Adicionando vetoresDireçõesEspaço local e espaço do mundoVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone7Projeto: Pegue a Estrela
O ApanhadorUma Estrela Cadente10O ciclo de vida dos scripts
Awake e StartUpdate e LateUpdateOnEnable e OnDisableA ordem do ciclo de vidaRevisão: registrador do ciclo de vida5Transformações e Hierarquia
Pais e FilhosEscalaObserve as CoisasMova-se em Direção a um PontoRevisão: Lua em Órbita6GameObjects e Componentes
Referências no InspectorObter um ComponenteComponentes AusentesAdicionar um ComponenteRequireComponentMostrar e OcultarRevisão: Interruptor de Luz