Показать сообщение отдельно
Старый 06.12.2012, 20:24   #6
PassCall
Разработчик
 
Аватар для PassCall
 
Регистрация: 07.04.2011
Адрес: Млечный путь, Земля, Европа, Беларусь, Могилев
Сообщений: 391
Написано 94 полезных сообщений
(для 319 пользователей)
Ответ: Джойстик(Сенсорный экран)

Суть:

dx - расстояние между двумя кругами по x
dy - расстояние между двумя кругами по y

r - радиус ограничительного круга

dist = расстояние между центром "ограничительного круга" и центра "круга джойстика" (геометрию в школе все учили?)

Если dist>r, тогда вычисляем "излишек", то есть насколько линия превысила лимит длинны:
a=r/dist

теперь изменяем координаты на основе "излишка"

x=x*a;
y:=y*a;


так то!
__________________
Мечта программиста: запрограммировать процесс программирования.

Всё гениальное - просто.

http://passcall.ucoz.com
(Offline)
 
Ответить с цитированием