Noticias

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

objeto con password que active otro objeto

Iniciado por Abramelin, Julio 11, 2015, 09:55:30 PM

Tema anterior - Siguiente tema
Julio 11, 2015, 09:55:30 PM Ultima modificación: Junio 01, 2016, 12:51:04 AM por pioj
Me gustaria hacer un objeto, que cuando estes dentro de su collider (trigger) si pulsas E, te aparezca un enter password o algo asi...
 
 
 
Si es correcto:
 

  •    que active un objeto (target 1) y realice la animacion de otro (target 2).


Si es falso:
 

  •    que se cierre el cuadro del password y no pase nada.


 
 
algo asi pero bien escrito...
 

var objeto1 : GameObject;
var animObj2 : GameObject;
var passwordentermenu : GameObject;
var passwordcorrecto : Boolean = false
 
function OntriggerEnter (){
 
if (input.GetKeyUp (KeyCode.E))
crear"passwordentermenu" (como se llame la funcion)
 
if passwordcorrecto = true{
objeto1.SetActive(true);
animObj2.GetComponent.<Animation>().Play("animacion");
Destroy (gameObject."passwordentermenu")
}
 
else{
Destroy (gameObject."passwordentermenu")
}

 
He visto algo de password field, pero soy bastante novato y no se como escribirlo bien.

Julio 12, 2015, 02:28:41 AM #1 Ultima modificación: Julio 12, 2015, 03:24:49 AM por DavidV
Podrías leer esto http://docs.unity3d.com/ScriptReference/GUI.PasswordField.html" rel="external nofollow">http://docs.unity3d.com/ScriptReference/GUI.PasswordField.html  Nunca he usado Password ni nada parecido, sin embargo CREO que esto podría ser algo así: 

public class ExampleClass : MonoBehaviour {
public string passwordToEdit = "My Password";
void Update()
{
if(passwordToEdit == "Clave que tú quieras" && Input.GetKeyDown(KeyCode.Return))
{
   Hacer la acción que tú quieres.
}
else if (passwordToEdit != "Clave" && Input.GetKeyDown(KeyCode.Return))
{
gameObject.SetActive(false);
}
void OnGUI() { passwordToEdit = GUI.PasswordField(new Rect(10, 10, 200, 20), passwordToEdit, "*"[0], 25);
}
}
  

Lo añades dentro de un scrip vacio
 
en otro scrip creas el sistema de trigger y lo de la tecla E.
 
"Si colisiona y pressiona la tecla E"
 
El Objetovacio (que llevaba el scrip anterior se active) 
 

public GameObject Contenedorpaswword;
void start()
{
  Contenedorpaswword.SetActive(false);
}
void Update()
{
}
void OntriggerEnter(Collider col)
{
if (col.GetComponent<Collider> ().tag == ("objeto") && Input.GetKeyDown (KeyCode.E))
{
Contenedorpaswword.SetActie(true);
}
}

Tienes que hacer click afuera del Password antes de dar Enter

Estudiante Ing. Sistemas 



he estado probando de distintas formas y el mayor problema es el uso del raton, lo tengo bloqueado e invisible... si hubiese alguna forma de hacerlo prescidiendo de el (solo con el teclado numerico y "E") aparte soy bastante novato y medio estoy entendiendo el .js ... y a c# me cuesta barbaridades adaptarlo.
 
en este video que esta en .js y explica mas o menos lo mismo pero en la funcion start
 
eature=oembed" frameborder="0" allowfullscreen="true">
 
me sale exactamente el mismo cuadrito que el del video, pero como te digo, no puedo clicarle al cuadro porque el raton va desactivado en el juego... mirare de otras formas y si no lo dejare para mas adelante cuando este mas curtido. gracias de todos modos, si se te ocurre alguna otra forma sin la intervencion del raton me vendria de lujo.

Etiquetas: