Calcular angulo eje de coordenadas

Hola, estoy haciendo un jueguito 2d en JAVA y estoy teniendo problema con un código.

El juego consiste en mover con las flechitas la nave, izquierda derecha arriba abajo.
Al hacer click con el mouse en una parte de la pantalla la nave tira un tiro hacia esa direccion.

Me funciona si la nave esta en la mitad de la pantalla, si muevo la nave el angulo se calcula mal porque no toma el nuevo punto de coordenadas de la nave como si fuese un nuevo eje de coordenadas.

Aqui va el codigo, no lo estoy pudiendo resolver

public void mouseDragged(MouseEvent e) {
      mouseX = e.getX();
      mouseY = e.getY();
      
      //PROBLEMA EN EL EJE DE COODENADAS ME TOMA SIEMPRE EL ANGULO A BASE DE LA MITAD DE LA PANTALLA - WIDTH /2 Y - HEIGHT /2
      dx = mouseX - WIDTH /2;
      dy = mouseY - HEIGHT / 2;
      dir = Math.atan2(dy, dx);

      dir = Math.toDegrees(dir);

                 .
                 .
                 .
                 .

}


Si alguno sabe que onda, gracias de antemano :)

------------------------------------------

Ayer estaba demasiado cansado y no podía pensar bien jaja...

Ya lo resolví y era demasiado fácil...

      
      dx = player.x - mouseX ;
      dy = player.y - mouseY;
      dir = Math.atan2(-dy, -dx);
0 respuestas