Menu
CoddyTech

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.

challenge icon

Défi

Moyen

Le 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
    }
}
quiz iconTestez-vous

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