Adicionar um Componente
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 32 de 67.
gameObject.AddComponent<T>() adiciona um novo componente do tipo T ao objeto enquanto o jogo está em execução e o retorna para que você possa configurá-lo nas linhas seguintes. Ele pertence ao GameObject, ao qual um script tem acesso por meio de gameObject. Esta fogueira se ilumina com uma luz laranja e acolhedora quando o jogo começa:
void Start()
{
Light glow = gameObject.AddComponent<Light>();
glow.color = new Color(1f, 0.5f, 0f);
glow.intensity = 2f;
}Um componente adicionado dessa forma permanece enquanto o jogo está em execução. Pare o modo Play e o objeto voltará ao que foi salvo na cena, sem Light. Seus próprios scripts também são componentes: gameObject.AddComponent<Spinner>() adiciona um Spinner que começa a ser executado como qualquer outro script.
A maioria dos componentes pode ser adicionada mais de uma vez, mas alguns não: um objeto pode ter no máximo um Rigidbody, e pedir um segundo gera um erro no Console. O código que pode ser executado mais de uma vez verifica se o objeto já tem o componente antes de adicioná-lo.
Desafio
MédioO coco fica pendurado na palmeira. Pressionar Space sacode a árvore: o coco recebe um Rigidbody, então a gravidade o puxa e ele cai na areia.
- Antes de pressionar Space pela primeira vez, o coco fica pendurado onde está.
- Space adiciona um Rigidbody somente quando o coco ainda não tem um, então os pressionamentos seguintes não fazem nada.
Pressione Play, pressione Space e, em seguida, Check.
Experimente você mesmo
using UnityEngine;
public class CoconutDrop : MonoBehaviour
{
void Update()
{
// Space: adicione um Rigidbody se o coco ainda não tiver um
}
}
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