Rechercher par nom
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 42 sur 67.
GameObject.Find("Player") recherche dans la scène un objet actif portant exactement ce nom et le renvoie, ou renvoie null s’il n’y en a aucun. Cela évite d’assigner un champ dans l’Inspector, mais a un coût : cette méthode parcourt tous les objets de la scène. Appelez-la donc une seule fois, dans Start(), et conservez le résultat dans un champ. Cette caméra de sécurité trouve le Player au démarrage du jeu et le surveille à chaque image :
private Transform player;
void Start()
{
player = GameObject.Find("Player").transform;
}
void Update()
{
transform.LookAt(player);
}Le nom doit correspondre exactement, majuscules et espaces compris : "player" ou "Player " ne trouvent rien. Find ignore également les objets inactifs (masqués). Une recherche infructueuse renvoie silencieusement null, et l’erreur apparaît à la ligne suivante qui utilise le résultat : ici, .transform déclenche une NullReferenceException. Un chemin tel que "Car/Wheel" trouve Wheel, qui est un enfant de Car.
Défi
MoyenLe rover indique à quelle distance se trouve son objectif.
- Dans
Start(), trouve l’objet nomméGoalet conserve son Transform dansgoal. - Chaque fois que tu appuies sur Espace, affiche la distance entre le rover et l’objectif, comme
Distance to goal: 5.
L’objectif peut bouger, alors mesure la distance au moment où tu appuies sur Espace.
Appuie sur Play, clique dans le jeu et appuie sur Espace, puis sur Check.
Essayez vous-même
using UnityEngine;
public class Beacon : MonoBehaviour
{
private Transform goal;
void Start()
{
// Trouve l'objet nommé Goal et conserve son Transform dans goal.
}
void Update()
{
// Space : affiche la distance jusqu'à goal dans la console.
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases du scripting dans Unity
1Votre premier script
Bonjour, UnityPlacez le cubeBouger à chaque imageTourner chaque secondeDirigez avec les touchesRécapitulatif : conduisez le cube4Vecteurs
Addition de vecteursDirectionsEspaces local et mondeVitesse diagonaleDistance entre les objetsVector3 est une structRécapitulatif : pilote de drone7Projet : Attrape l’étoile
L’attrapeurUne étoile qui tombe2L’inspecteur
Champs de l’inspecteurSerializeFieldNombres flottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur5Transformations et hiérarchie
Parents et enfantsÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : Lune en orbite8Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que FindLe null de UnityRécapitulatif : la pièce la plus proche11Projet : Esquivez les blocs
Le coureurBlocs qui tombent6GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur