Ajouter un composant
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 32 sur 67.
gameObject.AddComponent<T>() ajoute un nouveau composant de type T à l’objet pendant l’exécution du jeu et le renvoie afin que tu puisses le configurer dans les lignes suivantes. Il appartient au GameObject, auquel un script accède par l’intermédiaire de gameObject. Ce feu de camp s’éclaire d’une lumière orange chaleureuse au démarrage du jeu :
void Start()
{
Light glow = gameObject.AddComponent<Light>();
glow.color = new Color(1f, 0.5f, 0f);
glow.intensity = 2f;
}Un composant ajouté de cette façon persiste pendant l’exécution du jeu. Arrête le mode Play et l’objet revient à l’état enregistré dans la scène, sans Light. Tes propres scripts sont aussi des composants : gameObject.AddComponent<Spinner>() ajoute un Spinner qui se met à fonctionner comme n’importe quel autre script.
La plupart des composants peuvent être ajoutés plusieurs fois, mais certains ne le peuvent pas : un objet ne peut contenir qu’un seul Rigidbody au maximum, et en demander un deuxième affiche une erreur dans la Console. Un code susceptible de s’exécuter plusieurs fois vérifie si l’objet possède déjà le composant avant de l’ajouter.
Défi
MoyenLa noix de coco est suspendue au palmier. Appuyer sur Space secoue l’arbre : la noix de coco reçoit un Rigidbody, la gravité s’en empare et elle tombe sur le sable.
- Avant le premier appui sur Space, la noix de coco reste suspendue à sa place.
- Space ajoute un Rigidbody uniquement si la noix de coco n’en a pas encore, donc les appuis suivants ne font rien.
Appuie sur Play, appuie sur Space, puis sur Check.
Essayez vous-même
using UnityEngine;
public class CoconutDrop : MonoBehaviour
{
void Update()
{
// Space : ajouter un Rigidbody si la noix de coco n'en a pas encore
}
}
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