[RESOLU][DB-AL] Changer la couleur de ses boutons

Questions à propos du GUI, y compris la partie script.
F1GHT3R
Messages : 11
Inscription : 17 Avr 2018 22:45

[RESOLU][DB-AL] Changer la couleur de ses boutons

Message par F1GHT3R » 04 Mai 2018 13:50

Bonjour,

Voilà j'ai mon programme ci-dessous qui fait changer la couleur une fois de mon boutons sauf que je voudrais que a chaque fois que on click sur se bouton sa change sa couleur (avec 4 couleur qui serait prédéfinis) .

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using UnityEngine.UI; 

public class EDTScript: MonoBehaviour{


	public Button button;   //variable public composant boutton
	public Color colorAntiseche;		//variable public color
	public Color colorTranvailler;

	public void Choix()		//methode lancer lors de l'appuie du bouton
	{
		Button b;		//nouvelle variable bouton
		b = GetComponent<Button> ();		//assignation du composant bouton à b
		ColorBlock cb = b.colors;		// raccourci vers couleur du comoosant boutton
		cb.normalColor = color;		//racourci pour changer vers couleur	
		cb.highlightedColor=color;
		cb.pressedColor = color;

		b.colors = cb;


	}

	void Update () {

	}
}
Merci d'avance .

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Changer la couleur de ses boutons

Message par boubouk50 » 04 Mai 2018 14:22

C'est à dire? Que les couleurs bouclent?
Il te faut un tableau de couleur (avec tes 4 couleurs prédéfinies) et un index de couleur (modulo 4) qui s'incrémente à chaque passage dans la fonction Choix ().
Au lieu de donner directement la couleur, tu donnes la couleur du tableau à l'index en cours.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

F1GHT3R
Messages : 11
Inscription : 17 Avr 2018 22:45

Re: [DB-AL] Changer la couleur de ses boutons

Message par F1GHT3R » 04 Mai 2018 15:23

Oui quelle boucle , que lorsque on clique le bouton devient rouge si on re-clique vert puis orange puis bleu et que sa revient a rouge et que sa recommence .

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Changer la couleur de ses boutons

Message par boubouk50 » 04 Mai 2018 15:36

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using UnityEngine.UI; 

public class EDTScript: MonoBehaviour{

	public Button button;   //variable public composant boutton
	public Color colorAntiseche;		//variable public color
	public Color colorTranvailler;
	
	public Color[] btColors; //Déclaration du tabelau de couleur (ici public)
	private int index = 0;
	private Button b;

	void Start () {
		b = GetComponent<Button> ();		//assignation du composant bouton à b
	
		/*//Pour une initialisation automatique
		//Mettre les bonnes couleurs
		btColors = {new Color(0,1,0,1), new Color(1,0,0,1), new Color(1,1,1,1), new Color(0,0,1,1)};*/
	}
	
	public void Choix()		//methode lancer lors de l'appuie du bouton
	{
		//Incrémentation de l'index -> Modulo 4 pour qu'il soit toujours entre 0 et 3
		index = (index+1) %4;
		//Assignation de la couleur
		ColorBlock cb = b.colors;		// raccourci vers couleur du comoosant boutton
		cb.normalColor = btColors[index];		//racourci pour changer vers couleur	
		cb.highlightedColor = btColors[index];
		cb.pressedColor = btColors[index];

		b.colors = cb;
	}
}
J'ai sorti le bouton b de la fonction car elle renverra toujours la même chose: le Component Button. Il vaut mieux le faire une seule fois au Start ().
Aussi, si l'Update () est vide, il vaut mieux la supprimer car elle utilise de la mémoire, même vide!

button, colorAntiseche et colorTranvailler ne sont pas utilisés. S'ils ne servent à rien, il faut les supprimer également.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

F1GHT3R
Messages : 11
Inscription : 17 Avr 2018 22:45

Re: [DB-AL] Changer la couleur de ses boutons

Message par F1GHT3R » 16 Mai 2018 20:20

Merci a toi ,
Juste comment je fait pour mettre les couleurs dans les index ?

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Changer la couleur de ses boutons

Message par boubouk50 » 17 Mai 2018 09:12

https://openclassrooms.com/courses/appr ... ableaux-16

Tu ne mets pas de couleur dans les index mais dans le tableau. L'index te permet d'aller piocher dans le tableau de couleur. Je t'ai mis un lien d'OpenClassroom sur les tableaux en C#, tout est expliqué.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

F1GHT3R
Messages : 11
Inscription : 17 Avr 2018 22:45

Re: [DB-AL] Changer la couleur de ses boutons

Message par F1GHT3R » 17 Mai 2018 10:45

Merci, j'ai réussi ! ;)

merci pour ton aide.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6186
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: [DB-AL] Changer la couleur de ses boutons

Message par boubouk50 » 17 Mai 2018 11:14

Dans ce cas, édite le titre du premier message en ajoutant [RESOLU] en début de celui-ci pour signaler que la réponse est trouvée stp.
Je m'en occupe cette fois-ci.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Répondre

Revenir vers « L'interface GUI »