Jump to content
UnitySpain

Recommended Posts

Hola, estoy creando un juego shooter 2d parecido a stick-combat, pero tengo un problema con los con los controles, y es que hice que el torso siguiera la direccion del mouse, pero no se como hacer para que cuando se gire al otro lado el torso y las pierda se volteen, si alguien sabe como hacerlo por favor que me ayude, y si tiene un script ya creado para por favor que me lo pase.

posdata: para que siguiera el mouse lo hice con lookat.

Share this post


Link to post
Share on other sites

Hola, estoy creando un juego shooter 2d parecido a stick-combat, pero tengo un problema con los con los controles, y es que hice que el torso siguiera la direccion del mouse, pero no se como hacer para que cuando se gire al otro lado el torso y las pierda se volteen, si alguien sabe como hacerlo por favor que me ayude, y si tiene un script ya creado para por favor que me lo pase.

posdata: para que siguiera el mouse lo hice con lookat.

Bueno, podrías hacer lo siguiente:

  • Creas un boolean llamado, por ejemplo, "lookingLeft".
  • Gracias al eje Y que contiene el LookAt, puedes saber si está mirando a la izquierda o derecha:
    • Si está mirando a la izquierda, lookingLeft es true.
    • Si está mirando a la derecha, lookingLeft es false.
  • Si lookingLeft es true...
    • El eje de rotación Y del cuerpo del personaje obtiene un valor de 180 grados.
  • ...y si es false...
    • El eje de rotación Y del cuerpo del personaje obtiene un valor de 0 grados.

Debería ser algo así. No tengo ningún script creado, por lo que no puedo pasarte nada más que la lógica :( Lo siento, y espero que te sirva de ayuda!

Share this post


Link to post
Share on other sites
 

 

Hola, estoy creando un juego shooter 2d parecido a stick-combat, pero tengo un problema con los con los controles, y es que hice que el torso siguiera la direccion del mouse, pero no se como hacer para que cuando se gire al otro lado el torso y las pierda se volteen, si alguien sabe como hacerlo por favor que me ayude, y si tiene un script ya creado para por favor que me lo pase.

posdata: para que siguiera el mouse lo hice con lookat.

gracias por tu respues si me sirve pero no me habia percatado de otra cosa antes de hacer esta pregunta es que cuando hice que siempre se voltera a donde esta el mouse coloque que la parte de arriba del personaje siguiera el mouse pero necesito es que la parte de la derecha lo mire (espero que entiendas mi cutre explicacion) mira este es script que hice

void FixedUpdate(){
        Vector3 upAxis = new Vector3(0, 0, 1);
        Vector3 mouseScreenPosition = Input.mousePosition;
        mouseScreenPosition.z = transform.position.z;
        Vector3 mouseWorldSpace = Camera.main.ScreenToWorldPoint(mouseScreenPosition);
        transform.LookAt(mouseWorldSpace, upAxis);
        transform.eulerAngles = new Vector3(0, -transform.eulerAngles.z, 0);
    }

 

Edited by pioj
uso de tags y <> para pegar código.

Share this post


Link to post
Share on other sites

podrias hacer esto

 

if (mouseWorldSpace.x > transform.position.x) {
    //El raton está a la derecha del personaje
}
if (mouseWorldSpace.x < transform.position.x) {
    //El raton está a la izquierda del personaje
}

 

Y ahora, un truco que yo usaba para eso de voltear el personaje, si el personaje con el tamaño (1,1,1) mira hacia la derecha, si le asignas el tamaño (-1,1,1) el personaje mirara hacia la izquierda asi que dentro de esos ifs que he puesto antes puedes modificar su tamaño

Share this post


Link to post
Share on other sites

×
×
  • Create New...