Créer un jeu avec Unity 3D

Accéder aux GameObjects

L'auteur

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Navigation

Tutoriel précédent : Interaction avec l'utilisateur

 

Sommaire

 

Tutoriel suivant : les quaternions

I. Vidéo


Cliquez pour lire la vidéo



II. Ce qu'il faut retenir

II-A. Accéder aux GameObjects

L'objectif est d'accéder à un GameObject, sans que le script ne soit nécessairement attaché à ce GameObject.

II-A-1. La méthode Find()

La classe GameObject contient une méthode Find() utilisable comme suit :

 
Sélectionnez
#pragma strict

var go:GameObject;

function Start() {
    go = GameObject.Find("Cube");
}

function Update() {
    go.transform.Rotate(Vector3(0, 10 * Time.deltaTime, 0));
}

Tout comme pour la méthode GetComponent() que nous avons vu dans le treizième tutoriel, la méthode Find() ne peut pas être appelée directement à la déclaration d'une variable.

II-A-2. Accéder à un objet avec les tags

Les tags permettent de marquer les objets afin de les retrouver facilement, notamment dans un script.

La méthode à utiliser est maintenant FindWithTag() :

 
Sélectionnez
#pragma strict

var go:GameObject;

function Start() {
    go = GameObject.FindWithTag("Player");
}

function Update() {
    go.transform.Rotate(Vector3(0, 10 * Time.deltaTime, 0));
}

II-A-3. Accéder à plusieurs objets ayant un même tag

Les méthodes précédentes, bien que pleinement fonctionnelles, ne peuvent accéder qu'à un seul GameObject à la fois.

Pour accéder à plusieurs d'entre eux (possédant un même tag), la fonction à utiliser est FindGameObjectsWithTag() :

 
Sélectionnez
#pragma strict

var goList:Array;

function Start() {
    goList = GameObject.FindGameObjectsWithTag("Player");
}

function Update() {
    for(var go:GameObject in goList) {
        go.transform.Rotate(Vector3(0, 10 * Time.deltaTime, 0));
    }
}

Bien entendu, comme nous récupérons plusieurs objets, il nous faut un tableau pour les contenir et une boucle pour appliquer la rotation sur chacun d'eux.

III. Commenter

Vous pouvez commenter et donner vos avis dans la discussion associée sur le forum, ou encore, poser vos questions dans le forum Unity.

IV. Remerciements

Nous remercions « ToutApprendre » pour l'élaboration et la réalisation de ces vidéos. Vous pouvez retrouver sa chaîne YouTube en suivant ce lien.

Navigation

Tutoriel précédent : Interaction avec l'utilisateur

 

Sommaire

 

Tutoriel suivant : les quaternions

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 Équipe rubrique 2D/3D/Jeux. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.