Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Limpiar textfield GUI (JAVA)

Iniciado por Razkaen, Septiembre 24, 2015, 06:54:31 AM

Tema anterior - Siguiente tema
Septiembre 24, 2015, 06:54:31 AM Ultima modificación: Enero 01, 1970, 01:00:00 AM por Razkaen
Buenas, mi duda urgente es saber que codigo (y en que parte) podria usar para limpiar de informacion el siguiente formulario de registro/Login. La idea es que, tras terminar de manera exitosa el registro, se vacién todos los campos de inmediato.
#pragma strict
var username = "";
var password = "";
var repassword = "";
var email = "";
var message = "";
var islogin = true;
var isregister = false;
var hdskin : GUISkin;
var loguser = "";
var logpass = "";
var logmessage = "";
var level2load = "";
var isSuccess = false;
var mainDomainName = "";
var generatednumber :int = 0;
var numberinput:int = 0;
var loginPHPScriptName = "unitylogin.php";
var registerPHPScriptName = "unityregister.php";
var HofBox = 25;
function OnGUI(){
GUI.skin = hdskin;
if(islogin == false && isregister == true){
   GUI.Box(Rect((Screen.width)/2-250,20,500,480),"");
   GUI.Label(Rect((Screen.width)/2-100,30,200,50),"Please fill out the fields");
   GUI.Label(Rect((Screen.width)/2-230, 130,200,50),"Username:");
   username = GUI.TextField(Rect((Screen.width)/2-20,130,200,HofBox),username,45);
   GUI.Label(Rect((Screen.width)/2-230,190,200,50),"Password:");
   password = GUI.PasswordField(Rect ((Screen.width)/2-20,190,200,HofBox),password,"*"[0],45);
   GUI.Label(Rect((Screen.width)/2-230,250,200,50),"Re-Enter pass:");
   repassword = GUI.PasswordField(Rect((Screen.width)/2-20,250,200,HofBox),repassword,"*"[0],45);
   GUI.Label(Rect((Screen.width)/2-230,310,200,50),"Email:");
   email = GUI.TextField(Rect ((Screen.width)/2-20,310,200,HofBox),email,45);
   GUI.Label(Rect((Screen.width)/2-230,360,150,50),"Please verify:");
   GUI.Label(Rect((Screen.width)/2-80,360,100,HofBox),generatednumber.ToString());
   numberinput = int.Parse(GUI.TextField(Rect((Screen.width)/2+80,360,100,HofBox),numberinput.ToString()));
   if(GUI.Button(Rect((Screen.width)/2-230,420,200,HofBox),"Register!")){
      message = "";   
      if(username == "" || email == "" || password == "" || numberinput == 0){
         message += "Please fill in the empty fields. \n";
      }else{
         if(password == repassword){
            if(numberinput == generatednumber){
               doRegister();
            }else{
               message += "The number you inputed is not the same number.";
            }
            
         }else{
            message += "The passwords do not match. \n";
         }
      }   
   }
   if(GUI.Button(Rect((Screen.width)/2-20,420,200,HofBox),"Return to login")){
      islogin = true;
      isregister = false;
      username = ""; //cleaning our variables
      password = "";
      repassword = "";
      email = "";
      numberinput = 0;
      message = "";
      loguser = "";
      logpass = "";
      logmessage = "";
   }
   if(message != ""){
      GUI.Label(Rect((Screen.width)/2-230,460,460,50), message);
   }
}else if(islogin == true && isregister == false){
      GUI.Box(Rect((Screen.width)/2-250,20,500,450),"");
   GUI.Label(Rect((Screen.width)/2-100,30,200,50),"Please login to play");
   GUI.Label(Rect((Screen.width)/2-230, 130,200,50),"Username:");
   loguser = GUI.TextField(Rect((Screen.width)/2-20,130,200,HofBox),loguser,45);
   GUI.Label(Rect((Screen.width)/2-230,230,200,50),"Password:");
   logpass = GUI.PasswordField(Rect ((Screen.width)/2-20,230,200,HofBox),logpass,"*"[0],45);
   if(GUI.Button(Rect((Screen.width)/2-230,330,200,HofBox),"Login")){
      if(loguser == "" || logpass == ""){
         logmessage += "Please enter the necessary data! \n";
      } else{
         logmessage = "";
         doLogin();
      }
   }
   if(GUI.Button(Rect((Screen.width)/2-20,330,200,HofBox),"Register")){
      islogin = false;
      isregister = true;
      generatednumber=Random.Range(1000,99999);
      username = ""; //cleaning our variables
      password = "";
      repassword = "";
      email = "";
      numberinput = 0;
      message = "";
      loguser = "";
      logpass = "";
      logmessage = "";
   }
   if(logmessage != ""){
      GUI.Label(Rect((Screen.width)/2-230,360,460,50),logmessage);
   }
}
}
function doRegister(){
var form = new WWWForm();
form.AddField("user" , username);
form.AddField("pass" , password);
form.AddField("email" , email);         
var w = new WWW(mainDomainName + "/"+ registerPHPScriptName, form);         
   yield w;
if(w.error == null){
   message += w.text;
}else{
   message += "Error : " + w.error + "\n";
}
}
function doLogin(){
var logform = new WWWForm();
logform.AddField("username" , loguser);
logform.AddField("password" , logpass);
var logw = new WWW(mainDomainName + "/"+ loginPHPScriptName, logform);
   yield logw;
if(logw.error == null){
   logmessage += logw.text;
}else{
   logmessage +="Error : " + logw.error + "\n";   
}
      if(logmessage == "Login success! Please wait while the game loads..."){
         isSuccess = true;
      }
}
function Update(){
if(isSuccess == true){
   Application.LoadLevel(level2load);
}
}
Todo esta en JAVA. Gracias!

despues de llamar la funcion doRegister()
if(numberinput == generatednumber){
               doRegister();
            doRegister();
            username = ""; //cleaning our variables
      password = "";
      repassword = "";
      email = "";
      numberinput = 0;
      message = "";
      loguser = "";
      logpass = "";
      logmessage = "";

Septiembre 24, 2015, 03:52:35 PM #2 Ultima modificación: Enero 01, 1970, 01:00:00 AM por Razkaen
[quote author=jeico008 date=1443079314" data-ipsquote="" data-cite="jeico008" class="ipsQuote">despues de llamar la funcion doRegister()
if(numberinput == generatednumber){();
            doRegister();
            username = ""; //cleaning our variables
      password = "";
      repassword = "";
      email = "";
      numberinput = 0;
      message = "";
      loguser = "";
      logpass = "";
      logmessage = "";
[/quote]Gracias de verdad pero podrias ayudarme en algo infimo? es que no se porque no me funciona. Al terminar de borrarlos hacer que haga focus en el primer campo (en este caso Username) ¿Como? he probado el requestFocusInWindow() o requestFocus y no me lo permite.Disculpa las molestias, seguro es una pregunta tonta pero soy nuevo en unity. Gracias!

busca en la documentacio de unity

GUI.FocusControl

   // When pressed the button, selects the "username" Textfield.
var username : String = "username";
var pwd : String = "a pwd";
function OnGUI () {
   // Set the internal name of the textfield
   GUI.SetNextControlName ("MyTextField");///////////////////////para poner la ubicion
   
   // Make the actual text field.
   username = GUI.TextField (Rect (10,10,100,20), username);
   pwd = GUI.TextField (Rect (10,40,100,20), pwd);

   // If the user presses this button, keyboard focus will move.
   if (GUI.Button (Rect (10,70,80,20), "Move Focus"))
      GUI.FocusControl ("MyTextField");   //////////////////////para llamarlo
}

Etiquetas: