Noticias

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

¿Cómo mover un personaje al estilo Pokemon de Gameboy?

Iniciado por Quaternion, Junio 11, 2017, 04:28:06 PM

Tema anterior - Siguiente tema
Estoy intentando imitar un juego de Playstation One, el juego se llama Rocks'N'Gems, si alguien pudiese ayudarme a como mover el personaje pero cuadro por cuadro como en el juego -----------------> Rocks'N'Gems
 
 
 
Por ahora solamente tengo esto en el Script del Player  ------->Script del Player
 
Pero no se como hacer para que se mueva cuadro por cuadro o como si fuese con una cuadricula.
 
Por cierto mi personaje se esta moviendo raro, solamente se mueve von las teclas S,D y se mueve derecha y arriba, es raro porque se supone que con la tecla S debería de ir hacia abajo no arriba.
 
Si es necesario puedo pasar por Mensaje privado el Build de mi juego, solamente pidanmelo, gracias y Saludos.

Hola, es sencillo, pensa que es lo que queres, ---> queres que al apretar una tecla (una sola vez, no que la reconozca cuadro a cuadro) se mueva una unidad de la cuadricula, ya está. Trata de traducir eso a c#.
 
No es necesario pasar ninguna build, tu problema es super basico, ninguna rareza de codigo.
 
Un dato mas que estas haciendo mal, la ventaja de usar GetAxis es que te va a devolver desde -1(S o A) 0(ninguna) o 1(W o D), entonces no es necesario usar los if, es decir vos siempre te moves un valor o cero. Entonces te queda asi:
 

transform.Translate(
(Input.GetAxis("Horizontal") * Vector3.right +
Input.GetAxis("Vertical") * Vector3.up ) * Speed * Time.deltaTime);

 
Con esa linea reemplazas todo tu Update.
 
la razon por la que no te anda es porque no sabes para que estas usando el Getaxis, seguro hiciste copy paste, como dije arriba puede devolver -1 y --> si tenes que se mueva para abajo y con el -1del getaxis te da para arriba, es decir que siempre tenes que tener un unico sentido de referencia, podes usar cualquiera, lo logico es relacionar valores positivos (arriba, derecha, adelante) y combinado con los getaxis todo se mueve correctamente.

Etiquetas: