Unity Spain

Post Antiguos => General (Antiguo) => Mensaje iniciado por: JoseCoyote95 en Agosto 06, 2015, 01:57:50 AM

Título: Movimiento con transfom
Publicado por: JoseCoyote95 en Agosto 06, 2015, 01:57:50 AM
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.
Título: Movimiento con transfom
Publicado por: juanma_teso en Agosto 06, 2015, 03:21:36 AM
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.html)Para llamar la función usa el Input.GetKeyDown ().
Título: Movimiento con transfom
Publicado por: JoseCoyote95 en Agosto 06, 2015, 07:02:54 AM
[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.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.
				Título: Movimiento con transfom
Publicado por: juanma_teso en Agosto 06, 2015, 07:40:22 AM
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
}
 
Título: Movimiento con transfom
Publicado por: JoseCoyote95 en Agosto 06, 2015, 08:07:56 AM
[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
Título: Movimiento con transfom
Publicado por: JorgeVallejo en Agosto 10, 2015, 10:57:06 AM
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.
Título: Movimiento con transfom
Publicado por: musaranya en Septiembre 14, 2015, 04:27:11 PM
itween es tu amigo 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/
Título: Movimiento con transfom
Publicado por: iRobb en Septiembre 14, 2015, 05:45:06 PM
Probé dotween y iTween la veo mucho mejor.
Título: Movimiento con transfom
Publicado por: musaranya en Septiembre 14, 2015, 10:02:41 PM
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? 
Título: Movimiento con transfom
Publicado por: iRobb en Septiembre 14, 2015, 11:48:34 PM
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. 
Título: Movimiento con transfom
Publicado por: musaranya en Septiembre 15, 2015, 09:02:05 AM
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