Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Algorithm of the joystick on the touchable screen

I would like to simulate an analog joystick on the touchable screen like this picture.

Final Fantasy 3 for Android

When the center of the stick area is set to (cx, cy), how should I calculate X-direction ratio and Y-direction ratio(-1.0~1.0) from the touched position(tx, ty)?

Locations image

like image 227
Tank2005 Avatar asked Nov 04 '22 18:11

Tank2005


1 Answers

The x direction ratio is (tx-cx)/r, where r is the radius magnitude of the circle. Similarly, the y direction ratio is (ty-cy)/r.

I am assuming a right-handed cartesian coordinate with x axis in the direction of the right of the picture. Otherwise, you may need to multiply a (-1) to adjust the direction.

like image 93
NRR Avatar answered Nov 11 '22 08:11

NRR