[RESOLU] bouton exit dans un environnement 3d

Questions à propos du GUI, y compris la partie script.
lauraneb
Messages : 30
Inscription : 01 Juin 2017 14:14

Re: un bouton exit dans un environnement 3d

Message par lauraneb » 09 Juin 2017 10:32

non en fait c'est des sprites disposés dans ma scene 3D qui active le canvas quand on clique dessus. mais pour desactiver le canvas c'est un bouton gameobject UI qui est dans un menu dans le canvas. sur l'image tu vois le boul activé en effet mais j'ai essayé aussi avec le bool non selectionné ;).

- j'ai deconnecté le script des gameobjects et j'ai parametré le onClick du bouton dans l'interface : il ne se passe rien meme si la console de l'inspector me dit que le bouton exitButton a été selectionné.
- j'ai enlevé le onclick du bouton j'ai reconnecté mon script à mes sprites
- j'ai déja verifié que le script était actif en plaçant un debug.log des le lancement du jeu. c'est ok.
- j'ai verifié que la condition canvas.setActive est bien fonctionnelle. c'est ok mon canvas est desactivé au lancement du jeu.
- quand je clique sur un sprite, il m'ouvre bien la canvas avec le menu et les infos sont bien celles du sprite cliqué.
-quand je clique sur le bouton exitButton, le bouton est bien selectionné, son état change de couleur, mais la methode n'est pas executé (desactivation du canvas) car j'ai un debug.log quand la methode est lancée qui n'apparait pas.
- j'ai changé le nom de la methode pour m'assurer que ce n'était pas du à un conflit quelconque...

a titre d'info, le Cursor.lockState = CursorLockMode.None; sur un onMouseEnter ne semble pas pris en compte non plus...

je vais essayer donc de faire ce que tu dis un projet test pour juste tester la fonction parce que je pense que mon projet actuel merdouille quelquepart.

lauraneb
Messages : 30
Inscription : 01 Juin 2017 14:14

Re: un bouton exit dans un environnement 3d

Message par lauraneb » 09 Juin 2017 12:32

alors dans une autre scene de base (un sol, le fps controler, deux sprites) si je mets les memes scripts ça ne fonctionne pas. par contre si je mets le code du script Interactionobject dans mon script cliconme, là ça fonctionne tres bien dans la scene de base.
je me suis demandé alors si ce n'était pas du au nom de mon script qui commence par une majuscule. du coup j'ai copié le code dans le script Interactionobject. et ça marche tres bien aussi. alors j'ai annulé les transformations dans le script pour trouver où était la difference et à un moment donné j'ai un "using System." qui traine tout en haut de mon script Interactionobject.

reste à retester le script dans la scene ou je veux l'appliquer pour voir si c'est bien ça le probleme ou si ça vient de la scene.

lauraneb
Messages : 30
Inscription : 01 Juin 2017 14:14

Re: un bouton exit dans un environnement 3d

Message par lauraneb » 09 Juin 2017 14:05

alors une fois remis les bons codes dans la scene ça marche. la raison pour laquelle ça bloquait était tres certainement le bout de code qui trainait et que mon cursor était locké par defaut dans le fpscontroler. il était delocké et relocké mais quand je voulais le delocké a nouveau il restait locké. Or pour que sa marche il faut qu'il soit delocké au niveau de unity et locké dans le code pour que le delockage fonctionne a chaque fois. C'est Boubouk50 qui m'a mis sur la piste.

merci à tous ceux qui m'ont apporté leurs lumières...

on peut passer à la prochaine difficulté ;)

Répondre

Revenir vers « L'interface GUI »