Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: Abramelin en Julio 11, 2015, 09:55:30 PM

Título: objeto con password que active otro objeto
Publicado por: Abramelin en Julio 11, 2015, 09:55:30 PM
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:
 

Si es falso:
 

 
 
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.
Título: objeto con password que active otro objeto
Publicado por: DavidV en Julio 12, 2015, 02:28:41 AM
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
Título: objeto con password que active otro objeto
Publicado por: Abramelin en Julio 12, 2015, 04:17:02 AM
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.