Jump to content
Sign in to follow this  
Abramelin

objeto con password que active otro objeto

Recommended Posts

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.

Edited by pioj
uso de tags y <> para pegar código.

Share this post


Link to post
Share on other sites

Podrías leer esto 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

Edited by DavidV

Share this post


Link to post
Share on other sites

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

 

 

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

UnitySpain © Todos los derechos reservados 2020
×
×
  • Create New...