Affectation d'un objet dans une variable

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
GameWorldStudio
Messages : 53
Inscription : 29 Août 2017 10:34

Affectation d'un objet dans une variable

Message par GameWorldStudio » 29 Oct 2019 16:54

Bonjour à tous ! Alors voici mon problème :
J'ai un script dans lequel il y a plusieurs variable pouvant contenir des GameObject, Des textes et Des images.
Mon problème ici c'est que je ne connais pas le mot clé afin d'affecter l'objet automatiquement dans les variables de texte et d'images... Je m'explique :
Pour affecter automatiquement un GameObject dans une variable nous écrivons : Objet = GameObject.Find("Nom_de_l'objet");

Mais Quand je souhaite le faire sur une image ou un texte il me dit qu'il ne peut pas convertir un UI en GameObject, donc j'ai compris l'erreur mais je ne sais pas quel mot utiliser ou même si il y a une autre manière que de pour chaque affectation le faire manuellement... Voilà merci encore !

Avatar de l’utilisateur
Alesk
Messages : 2191
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Affectation d'un objet dans une variable

Message par Alesk » 29 Oct 2019 17:17

Il vaut mieux éviter d'utiliser GameObject.Find() car c'est pas du tout optimal.

Le plus simple est de rendre tes variables publiques et de leur associer les objets directement depuis l'inspecteur d'Unity.

GameWorldStudio
Messages : 53
Inscription : 29 Août 2017 10:34

Re: Affectation d'un objet dans une variable

Message par GameWorldStudio » 30 Oct 2019 21:31

Oui c'est sur mais les objets que je souhaite placer sont utiliser de manière récurrente (se sont des préfabs) et ça me prend du temps de toujours affecter ce qu'il faut à tout ces objet alors que c'est toujours la même chose.. Le mieux ça serai justement d'automatiser l'affectation de variables de manière automatique pour les éléments qui reviennent à chaque fois

Par exemple ici l'élément que je dois réaffecter à chaque fois est un texte, mais au lieux de l'affecter à chaque objet que je place je pourrai automatiser son affectation dans le script donc le texte s'affecte dans toute les variable de tout les objets placer dans la scène !

Avatar de l’utilisateur
Alesk
Messages : 2191
Inscription : 13 Mars 2012 09:09
Localisation : Bordeaux - France
Contact :

Re: Affectation d'un objet dans une variable

Message par Alesk » 30 Oct 2019 22:59

Dans ce cas, regarde du côté des variables statiques ou des scriptable Objects : https://unity3d.com/fr/how-to/architect ... le-objects

jmhoubre
Messages : 21
Inscription : 05 Oct 2019 22:05

Re: Affectation d'un objet dans une variable

Message par jmhoubre » 31 Oct 2019 18:05

Peut-être qu'en tagguant tes UI, textes et images et GameObject.FindGameObjectsWithTag ?

GameWorldStudio
Messages : 53
Inscription : 29 Août 2017 10:34

Re: Affectation d'un objet dans une variable

Message par GameWorldStudio » 31 Oct 2019 19:20

Oui ! J'avais totalement oublier la méthode avec les Tag ! Je vais essayer et je vous tiens au courant, ce qui me facilite pas la tache c'est Visual Studio... J'utilise Visual 2019, et j'ai téléchargé cette version en dehors de Unity et lorsque je code j'ai pas les texte pré fais en fonction de ce que j'écris donc je dois toujours me souvenirs ^^' cependant votre suggestion m'a l'air très juste !

Répondre

Revenir vers « Scripting Javascript, C# et Boo »