Mot de Passe - Gestion du message d'allerte

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
kealkeal
Messages : 925
Inscription : 16 Juil 2010 17:31
Localisation : Paris

Mot de Passe - Gestion du message d'allerte

Message par kealkeal » 21 Oct 2015 14:35

Bonjour,

Je souhaite mettre un system simple de Mot de Passe pour accéder à une Scène de mon projet.

Si le Mot de passe est Ok alors la scène se chargera
Si le Mot de passe n'est pas correct, alors il ne se passe rien

J'aimerai mettre en place un system de GUI Button avec un texte qui va varier en fonction de ce qui sera renseigné dans le champs du Mot de passe :

Si le Mot de passe est correct, alors le GUI Button affiche "Vous pouvez accéder"
Si le Mot de passe n'est pas correct, alors le GUI Button affiche "Mot de passe incorrect"

Voici où j'en suis :

Code : Tout sélectionner

     using UnityEngine;
     using System.Collections;
     
     public class acce_cle : MonoBehaviour{

	private string PasswordDefaut = "• • • • • • • •";

	public string PassWord = "";

	public string TexteEtatBouton = "";

	private bool flag = false;

	public GUISkin mySkin;

    public Texture2D image; 


	void Start ()

         {
		 flag = false;
		foreach (Transform child in this.transform)
             {
       child.gameObject.SetActiveRecursively(false);
                 }

         }


	void Update ()

         {
             foreach (Transform child in this.transform)

             {
                 if (Input.GetKey(KeyCode.LeftControl))

                 {
		 flag = true;
                 }
			else if(Input.GetKey(KeyCode.LeftAlt))
                 {
                   child.gameObject.SetActiveRecursively(false);
		 flag = false;
                 }
             }
         }

	void OnGUI()
	
	{

	if (mySkin != null) GUI.skin = mySkin;

		if(flag)

		{  	
			int l = 300;
			int h = 400;
			int lbouton = 250;
			int hbouton = 30;
			int ox = Screen.width/2-l/2;
			int oy = Screen.height/2-h/2;
			int oxbouton = Screen.width/2-lbouton/2;
			GUI.DrawTexture(new Rect(ox,oy,l,h), image);
			PasswordDefaut = GUI.TextField (new Rect (oxbouton,oy+270,lbouton,hbouton), PasswordDefaut);

			if (PasswordDefaut == PassWord ) {

				if (GUI.Button(new Rect(oxbouton,oy+330,lbouton,hbouton),TexteEtatBouton)) {
					foreach (Transform child in this.transform)
             		{
       				child.gameObject.SetActiveRecursively(true);
             		}
             		flag = false;
             		PasswordDefaut = "";
				}
			}

		}

	}

}
A ce stade, si le Mot de passe est correct, alors j'affiche le texte de la variable : TexteEtatBouton

Là où le coince, c'est pour afficher un autre texte si le Mot de pas n'est pas correct.

Merci pour votre aide. ;-)
kealkeal

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

Re: Mot de Passe - Gestion du message d'allerte

Message par boubouk50 » 21 Oct 2015 14:39

Tu fais simplement la même chose dans ton else, mis à part qu'au lieu d'afficher TexteEtatBouton, tu affiches un autre texte que tu auras défini avant.

Je vois pas trop pourquoi tu bloques, j'ai mal lu quelque chose?
"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 « (C#) CSharp »