I’m starting with a screen resolution of `1280 x 960`

and that is the default resolution where mouse aiming is calculated thus:

`angleRad = (float) (Math.atan2(screenX - (screenWidth / 2), screenY - (screenHeight / 2))); angle = (float) Math.toDegrees(angleRad - Math.PI / 2); angle = Math.round(angle) <= 0 ? angle += 360 : angle; if (Math.round(angle) == 360) angle = 0; `

Which all works fine. But when the game is resized to some resolution with a vastly different ratio to the default, like for example `2560 x 1440`

at full screen in my case, the aiming is off. The resize method is like this:

`@Override public void resize(int width, int height) { game.getViewport().update(width, height); control.screenWidth = width; control.screenHeight = height; } `

Where `control.screenWidth`

and `control.screenHeight`

are used in the above angle calculation and as the set resolution in other areas. The angle calculation when resized is roughly correct but tends to get further and further off course the further the aim is away from the player.

If the player aims straight up, down, left or right (N, S, W or E basically) then the aim is dead on, but veers off as aiming goes away from the player towards a screen edge – no doubt due to the resolution ratio difference.

We have these ratio differences which no doubt affect the angle calculation:

`1280x960 1.33 ratio 2560x1440 1.77 ratio `

But I’m not sure how to take into account these ratios to adjust the angle calculation accordingly in my code?