Buscar pelo nome
Parte da seção Fundamentos de Scripting no Unity do Journey de Unity da Coddy. Lição 56 de 85.
GameObject.Find("Player") procura na cena um objeto ativo com exatamente esse nome e o retorna, ou retorna null quando não há nenhum. Isso evita conectar um campo no Inspector, mas tem um custo: procura em todos os objetos da cena. Portanto, chame-o uma vez, em Start(), e mantenha o resultado em um campo. Esta câmera de segurança encontra o Player quando o jogo começa e o observa a cada quadro:
private Transform player;
void Start()
{
player = GameObject.Find("Player").transform;
}
void Update()
{
transform.LookAt(player);
}O nome precisa corresponder exatamente, incluindo maiúsculas e espaços: "player" ou "Player " não encontra nada. Find também ignora objetos inativos (ocultos). Uma busca malsucedida retorna null silenciosamente, e o erro aparece na próxima linha que usa o resultado: aqui, .transform lança NullReferenceException. Um caminho como "Car/Wheel" encontra Wheel, que é filho de Car.
Desafio
MédioO rover informa a distância até seu objetivo.
- Em
Start(), definagoal = GameObject.Find("Goal").transform;. - Em
Update(), quandoInput.GetKeyDown(KeyCode.Space)for acionado, registre"Distance to goal: " + Vector3.Distance(transform.position, goal.position).
Pressione “Jogar” e pressione Espaço: o Console exibe Distance to goal: 5. Depois, clique em “Verificar”.
Experimente você mesmo
using UnityEngine;
public class Beacon : MonoBehaviour
{
private Transform goal;
void Start()
{
// Encontre o objeto chamado Goal e armazene seu Transform em goal.
}
void Update()
{
// Space: registre a distância até o objetivo.
}
}
Todas as lições de Fundamentos de Scripting no Unity
1Fundamentos de C# no Unity
Olá, UnityVariáveisDecimais precisam de um fTexto no ConsoleVariáveis que guardam valoresIf e ElseComparar númerosRevisão: Coletor de Moedas7Laços e Métodos
Repita com forLaços dentro de laçosEscreva um métodoMétodos que respondemArraysRevisão: Escada10Encontrando coisas
Buscar pelo nomeTagsBuscar por tipoReferências são melhores que FindO null do UnityRevisão: moeda mais próxima13Projeto: Desvie dos Blocos
O CorredorBlocos do Céu2Faça-o se mover
Posicione o cuboMova a cada quadroGire a cada segundoDirija com as teclasRecapitulando: dirija o cubo5Vetores
Somando vetoresDireçõesEspaço local e globalVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone8GameObjects e Componentes
Referências no InspectorObter um componenteComponentes ausentesAdicionar um componenteRequireComponentMostrar e ocultarRevisão: Interruptor de luz6Transformações e hierarquia
Pais e filhosIçar a bandeiraEscalaOlhar para as coisasMover-se em direção a um pontoRevisão: Lua em órbita9Projeto: Pegue a Estrela
O PegadorUma Estrela CadentePratique por conta própria: Playground de Unity