Afficher les boutons GUI

Questions à propos du GUI, y compris la partie script.
Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Afficher les boutons GUI

Message par kealkeal » 16 Août 2010 12:13

J'ai viens de mettre en place des boutons qui me permettront de personnaliser mon projet

Ceci est ce que je vois lorsque je visualise mon projet dans la fenetre "GAME".

Maintenant si je choisis "BUILT AND RUN", les boutons ne sont plus visibles.

Quelqu'un peut m'aider ? :roll:
Dernière édition par kealkeal le 10 Oct 2011 20:16, édité 3 fois.
kealkeal

Avatar de l’utilisateur
Ambrosios
Messages : 149
Inscription : 07 Jan 2010 10:13

Re: Afficher les boutons GUI

Message par Ambrosios » 16 Août 2010 12:46

Salut,

Comment tu gère ton GUI ? Avec des layouts ou des coordonnées fixes ?

Ça m'est déjà arrivé d'avoir une différence entre la version "Game" et la version "Built", mais dans la plupart des cas c'est des variables qui était mal initialisés. Peux-tu mettre le code de ta fonction OnGUI() ?
A3G - WarGround
DevBlog

Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Re: Afficher les boutons GUI

Message par kealkeal » 18 Août 2010 17:32

Voila le code que j'utilise :

Code : Tout sélectionner

/* Example level loader */
var visible = 0;


function OnGUI () {
	// Make a background box
	GUI.Box (Rect (-30,10,200,90), "Choisissez votre pierre :");

	// Make the first button. If it is pressed, Application.Loadlevel (1) will be executed
	if (GUI.Button (Rect (20,40,90,20), "Diamant blanc")) {
		Application.LoadLevel ("scene_1");
	
	}

	// Make the second button.
	if (GUI.Button (Rect (10,70,120,20), "Diamand turquoise")) {
		Application.LoadLevel ("scene_2");
	}


// Make the third button.
	if (GUI.Button (Rect (20,100,90,20), "Diamant rose")) {
		Application.LoadLevel ("scene_3");
	}

if (GUI.Button (Rect (20,130,90,20), "Perle")) {
		Application.LoadLevel ("scene_4");
	}
}
Merci pour ton aide ! ;)
kealkeal

Avatar de l’utilisateur
Lion
Messages : 39
Inscription : 15 Août 2010 00:18
Localisation : Strasbourg
Contact :

Re: Afficher les boutons GUI

Message par Lion » 18 Août 2010 19:07

Que fait la variable visible = 0 ?

Pourquoi la box commence à x=-30 ?
Peu être que le player n'aime pas que les éléments dépassent du cadre et que ça fait planter OnGUI().
Amicalement, Lion :)
Mon Site
Convertisseur C# vers UnityScript (extension Unity3D).

Avatar de l’utilisateur
Ambrosios
Messages : 149
Inscription : 07 Jan 2010 10:13

Re: Afficher les boutons GUI

Message par Ambrosios » 18 Août 2010 20:08

Salut,

Je suis du même avis que Lion, à savoir déjà à quoi sert ta variable visible puis d'enlever cette valeur négative dans ton GUI.Box.

Essaye de mettre un Debug.Log("ton texte") avant la commande GUI.Box et un autre après. Ensuite fais un Built and run en version standalone (windows ou mac sa dépend de ta plateforme).

Lance ton application,vérifie si ça fonctionne et si ce n'est pas le cas va dans le dossier Data qui se situe à la racine de ton exécutable, tu retrouvera un fichier output_log.txt dans lequel tu pourras vérifier que tes Debug apparaissent et ainsi voir où sa coince.

Si tu as le premier Debug et pas le second, c'est bien la commande GUI.Box qui fait planter ta fonction.
Si tu en as aucun, c'est que ton script ne s'active même pas.
Enfin si tu as les deux c'est que ça vient d'autre part.
A3G - WarGround
DevBlog

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: Afficher les boutons GUI

Message par giyomuSan » 19 Août 2010 04:12

Si tu ne veux pas eter embetter avec des gui qui disparaissent de ton screen , ne jamais hard coder tes valeur , utilise des position relative a la taille de ton ecran

avec screenWidth, screenHeight, et travail en proportion %.

comme ca quelques soit la taille tu perdra pas tes GUI ;)

evidemment si c a cause de ca que tes bouton disparaissent, cela t aidera ^^

Répondre

Revenir vers « L'interface GUI »