Comment creer des bouttons depuis un script avec unity UI?

Questions à propos du GUI, y compris la partie script.
grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Comment creer des bouttons depuis un script avec unity UI?

Message par grex » 27 Fév 2015 18:22

bonjour,
j'ai suivie se tutoriel:
http://blog.formation-facile.fr/tutos-f ... -dunity3d/
J'ai tout compris mais le problème c'est que je ne peux pas prevoire à l’avance combien il y aura de bouton sur la scene.
Le nom des niveaux est écrit dans un document xml et les niveaux sont créer par l’utilisateur à l'aide d'un éditeur de circuit que j'ai développer.
J'arrive a récupéré le noms des niveaux et a changer les noms des boutons déjà créer, mais j'ai besoin de créer des nouveaux bouton depuis un script javascript.
J'ai déjà essayer de mettre des bouton dans un prefabe mais quant je les instancies il on tous la même position comme si il y en avais qu'un.
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Avatar de l’utilisateur
minirop
Messages : 184
Inscription : 25 Juin 2014 12:58

Re: Comment creer des bouttons depuis un script avec unity U

Message par minirop » 27 Fév 2015 22:07

grex a écrit :J'ai déjà essayer de mettre des bouton dans un prefabe mais quant je les instancies il on tous la même position comme si il y en avais qu'un.
c'est ce qu'il faut faire, juste que les boutons peuvent pas savoir "par magie" où se placer. donc soit tu les positionnes par toi-même (via transform.position) ou tu utilises un layout qui se chargera de les positionner (par exemple VerticalLayoutGroup)
Développeur Nintendo & PS Vita RIP PSM. Vive moi. Vive Unity. Flappikachu Vita

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment creer des bouttons depuis un script avec unity U

Message par grex » 02 Mars 2015 23:30

j'ai ajouter se script sur un boutton que j'ai créer manuellement:

Code : Tout sélectionner

#pragma strict
var lesprefabs : GameObject[]; 

private var lesbouttons : GameObject[];


function instance () {
lesbouttons[0]=Instantiate(lesprefabs[0],transform.position,transform.rotation);
lesbouttons[0].transform.position = Vector3(0, 20, 0);

}
Quant je clique le boutton grasse à l'évement on Click() j'appelle la fonction instance de mon script.
Mais j'ai le droit à cette cette erreur:
NullReferenceException: Object reference not set to an instance of an object
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Avatar de l’utilisateur
LudlowFx
Messages : 1367
Inscription : 19 Sep 2013 05:50

Re: Comment creer des bouttons depuis un script avec unity U

Message par LudlowFx » 03 Mars 2015 00:07

Tu est sûr de bien avoir renseigné chaque champs de type GameObject dans ton Inspector ?
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment creer des bouttons depuis un script avec unity U

Message par grex » 03 Mars 2015 02:15

j'ai bien tout renseigné, mon tableau n'a qu'un seul prefabe pour le moment:
http://www.hostingpics.net/viewer.php?i ... 0101AM.png
Le bouton test qu'on voie sur l'image été déjà la, mais quant on clique dessus on devrais avoir un bouton qui se créer mais on voie juste un clone dans la hierarchy invisible sur la scene.
Et puis sa plante on vois le message d'erreur en bas qui s’affiche quant je clique.
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Avatar de l’utilisateur
artemisart
Messages : 1893
Inscription : 21 Juin 2011 19:51
Localisation : Centre
Contact :

Re: Comment creer des bouttons depuis un script avec unity U

Message par artemisart » 03 Mars 2015 20:00

lesbouttons n'est pas renseigné dans l'inspector (forcément vu que c'est une private var) du coup il reste null donc tu peux pas y accéder (l'exception vient de lesbouttons[0]).

grex
Messages : 140
Inscription : 30 Mars 2014 18:11

Re: Comment creer des bouttons depuis un script avec unity U

Message par grex » 04 Mars 2015 01:51

Pour l'erreur sa venais bien de lesbouttons mais il y à pas besoin de mettre en public il faut juste spécifier la taille:
private var lesbouttons = new GameObject[100];
Mintenant j'ai pus de message d'erreur mais le bouton est invisible sur la scene quant je clique dessus dans la hierararchy on dirai qu'il est en bas a gauche:
http://www.hostingpics.net/viewer.php?i ... 1233AM.png
Edit:
Je viens de réaliser que je peux changer la position avec le script ou à la main, mais il reste invisible ou voie juste le gizmo.


Edit2:
Le problème est résolu il suffit d'ajouter le canvas en parent.

Canvas = GameObject.Find("Canvas");
lesbouttons[0].transform.parent = Canvas.transform;
Ne faite par attention aux fautes je suis dyslexique.
J'utilise déjà un correcteur automatique:
http://www.reverso.net/orthographe/correcteur-francais/

Répondre

Revenir vers « L'interface GUI »