GR.OPEN 255,0,0,0,1,1 GR.SCREEN xk,yk ! Считаем радиус джойстика rd=xk/4-xk/100 ! Считаем где будет джойстик xd=xk/2+xk/4 yd=yk-xk/4 ! Круг джойстика GR.COLOR 255,255,255,255,0 GR.CIRCLE krug,xd,yd,rd ! Метка джойстика GR.COLOR 255,255,0,0,1 GR.CIRCLE cel,xd,yd,rd/10 DO GR.TOUCH th,xdj,ydj % Получаем координаты касания gipot=0 ugol=0 IF th=0 THEN %Если касания нету xdj=xd ydj=yd END IF IF th<>0 THEN katety=yd-ydj %Считаем катеты katetx=xd-xdj IF katetx<0 THEN katetx=katetx*-1 IF katety<0 THEN katety=katety*-1 gipot=sqr(katetx*katetx+katety*katety) %Вычисляем гипотенузу ugol=asin((katety)/gipot)/3.14*180 %Считаем угол отклонения джойстика IF BAND(xd-xdj>0,yd-ydj<0) THEN ugol=180-ugol IF BAND(xd-xdj>0,yd-ydj>0) THEN ugol=ugol+180 IF BAND(xd-xdj<0,yd-ydj>0) THEN ugol=360-ugol END IF IF gipot>rd THEN gipot=rd GR.MODIFY cel,"x",gipot*cos(ugol/180*3.14)+xd,"y",gipot*sin(ugol/180*3.14)+yd GR.RENDER UNTIL 0