Noticias

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

Movimiento con transfom

Iniciado por JoseCoyote95, Agosto 06, 2015, 01:57:50 AM

Tema anterior - Siguiente tema
Tengo un problema. Necesito hacer un movimiento que con pulsar una vez el botón un objeto se mueva hacia abajo hasta cierto punto y al llegar ahí regrese al punto inicial.
Gracias.

Primero haz una función que te mueva el personaje hasta el punto que quieras y lo devuelva. Primero para devolverlo tienes que guardar la posición en la que estás en una variable, para moverlo puedes usar transform.Translate() y verificar con condicionales si ya has llegado al destino - if (position.y >= ciertoPunto) - y una vez estés ahí traerlo de vuelta de la misma forma. Aquí te dejo la función Translate para que veas los ejemplos:http://docs.unity3d.com/ScriptReference/Transform.Translate.htmlPara llamar la función usa el Input.GetKeyDown ().

[quote author=juanma_teso" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15911" data-ipsquote-contentcommentid="101292">Primero haz una función que te mueva el personaje hasta el punto que quieras y lo devuelva. Primero para devolverlo tienes que guardar la posición en la que estás en una variable, para moverlo puedes usar transform.Translate() y verificar con condicionales si ya has llegado al destino - if (position.y >= ciertoPunto) - y una vez estés ahí traerlo de vuelta de la misma forma. Aquí te dejo la función Translate para que veas los ejemplos:http://docs.unity3d.com/ScriptReference/Transform.Translate.html">http://docs.unity3d.com/ScriptReference/Transform.Translate.htmlPara llamar la función usa el Input.GetKeyDown [/quote]Gracias por tu Respuesta.Mira, Tengo este codigo pero lo que hace es desaparecer y apareccer el objeto cuando oprimo la tecla, lo que necesito es que haga los dos movimientos al oprimirla una sola vez. Agradesco la ayuda.
								

Entonces haz un booleano que te diga si te tienes que mover o no;
if(Input.GetKeyDown(KeyCode.Space))
    miBool = true;
if(miBool){
    //Todo lo que tienes en el keydown actual
    //Una vez estés en la posición inicial de nuevo lo pones en false
}
 

[quote author=juanma_teso" data-ipsquote-contapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentclass="forums_Topic" data-ipsquote-contentid="15911" data-ipsquote-contentcommentid="101303">Entonces haz un booleano que te diga si te tienes que mover o no;
if(Input.GetKeyDown(KeyCode.Space))= true;
if(miBool){
    //Todo lo que tienes en el keydown actual
    //Una vez estés en la posición inicial de nuevo lo pones en false
}
 [/quote]Eso es todo lo que necesitaba. Muchas gracias :v

Si va a ser a un punto concreto y siempre el mismo yo te aconsejo que en vez de programarlo hagas una animación, te lo digo por que esto mismo lo he estado haciendo para un juego, y al final queda mucho más organico y se puede controlar mejor, en mi caso  es un objeto que ataca a otro, asi que desde su posicion incial retrocede un poco , como para cojer carrerilla, despues llega hasta el enemigo, al cual sobre pasa un poco, como ha chocado su velocidad de regreso es menor.Puedes modificar las curvas de movimiento para que la velocidad sea más personalizada que con un Lerp.

itween es tu amigo http://itween.pixelplacement.com/index.php" rel="external nofollow">http://itween.pixelplacement.com/index.php( o similares, como dotween, cuya versión gratis se ve que es muy competente, yo sigo con itween por legacy pero un día de estos hago el cambio)http://dotween.demigiant.com/" rel="external nofollow">http://dotween.demigiant.com/

Probé dotween y iTween la veo mucho mejor.

iRobb por qué dices eso? iTween fue la primera librería que utilicé y con la que descubrí el concepto este de "tween". Me manejo muy bien con ella pero recientemente me tragué la documentación de Dotween porque hay mucha gente hablando muy bien de ella y la verdad es que me entraron muchas ganas de probarla. La sencillez de uso no me importa porque yo aprendo lo que sea pero parece que a nivel de optimización dotween está en las antípodas de itween para mejor. Por qué te gusta más itween? 

No me gusta ese panel. No me gusta que esté todo en dll's. Seguro que alguna vez intento compilar para alguna plataforma que no las soporta y me quedo colgado con un código que no podré modificar y 100 referencias a funciones que tendría que convertir.Las de iTween son más eficientes y su estructura al llamarlas me gusta. Y por supuesto está el código fuente. 

jeje pues no me había fijado en que dotween no incluye el código fuente, sí que es una ***da. Bueno de momento con itween me va bien, si algún día encuentro pegas graves tantearé otras opciones, gracias por tu comentario 

Etiquetas: