Hola como estan?
Estoy haciendo un boton que cuando lo piso, se unde, ya tengo mi movimiento de boton para undirlo, lo que me esta costando mucho, es el bool del raycast
Bueno resulta que hice un raycast al boton, para que cuando lo pise se unda con un lerp de update, peroooo
el problema es que( le hice un if el Physics.Raycast que le cree sea verdadero actue) cuando me paro arriba empieza a undirse, pero en el momento que dejo de pisarlo, se frena el lerp, obviamente mi lerp se frena por que sale de la condicion de mi if, que es estar el physics true, ahora bien... yo necesito cuando mande señal, apenas yo lo toq empieze a undirse, y si yo me muevo, se siga undiendo para terminar su lerp.
Como lo logro? alguna idea?, como conosco poco no se me ocurrse mucho mas que el if, switch nose si ira bien y un while menos CREO.
bool phyRay = Physics.Raycast (transform.localPosition + (Vector3.up * 0.07f), Vector3.up, 0.05f);
if (phyRay) {
Press ();
}
Press es (void) una funcion que cree yo en mi codigo, y es simplemente un Mathf.Lerp
Utiliza eventos, usa la funcion OnColliderEnter!
Cita de: GSG3D date=1497231238Utiliza eventos, usa la funcion OnColliderEnter!
Funciona parecido al OnTriggerEnter?, probe con la funcion de trigger y no funciona ya que manda una sola señal en un tik no manda una señal por tik.
Disculpame, pero podrias detallarme un poco esa funcion de OnColliderEnter?? de todas formas voy a indagar un poco mas, gracias no la conocia!
Si, lo que tiene que usar es una "bandera".
bool presionado = false;
void OnTriggerEnter(Collider other)
{
presionado = true; //bandera
}
void Update()
{
if(presionado) Press();
}
Ahi esta!! si señoorrrrr, clarooo por que no se me habia ocurrido, eso es pura experiencia jajaja! muchas gracias bro!
Hay que centrarse mucho a la hora de programarrr, hoy estube bastante distraido y no se me ocurrieron grandes cosas, un abrazo enorme!!
Gracias por tu respuestas!