Obtenir un composant
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 30 sur 67.
Un GameObject est un conteneur de composants : un Transform, un MeshRenderer qui l'affiche, un collider, vos scripts. GetComponent<Renderer>() renvoie le composant de ce type sur le même objet, et votre script peut ainsi modifier le comportement de ce composant. transform est un raccourci prêt à l'emploi pour le Transform ; vous récupérez vous-même tous les autres composants.
Ce cube devient rouge lorsque vous appuyez sur Espace. Il recherche son Renderer une seule fois, dans Start(), et le conserve dans un champ : GetComponent recherche les composants de l'objet à chaque appel, et le résultat ne change pas.
Renderer rend;
void Start()
{
rend = GetComponent<Renderer>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
rend.material.color = Color.red;
}
}rend.material donne à cet objet sa propre copie du matériau la première fois que vous l'utilisez, de sorte que les autres objets qui partageaient le matériau conservent leur couleur. Unity met à votre disposition le nom de certaines couleurs, comme Color.red, Color.green, Color.blue, Color.yellow et Color.gray ; new Color(r, g, b) crée n'importe quelle autre couleur, chaque composante allant de 0 à 1.
Défi
MoyenLe feu de signalisation commence au rouge. Chaque clic le fait passer à la couleur suivante, dans cet ordre : rouge, jaune, vert, puis de nouveau rouge, et ainsi de suite.
Récupère le Renderer une seule fois, dans Start(), et conserve-le dans un champ. Utilise Color.red, Color.yellow et Color.green.
Appuie sur Play, clique plusieurs fois dans le jeu, puis sur Check.
Essayez vous-même
using UnityEngine;
public class SignalLight : MonoBehaviour
{
void Start()
{
}
void Update()
{
// À chaque clic : rouge, puis jaune, puis vert, puis à nouveau rouge
}
}
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