Функция мультитача для взаимодействия
Posted: Tue Jun 20, 2017 3:58 pm
В SPL есть функция #.pan, которая распознает мультитачевое взаимодействие пользователя с экраном — одновременные перемещение, масштабирование и поворот.
В качестве примера работы функции #.pan, эта программа позволяет пользователю интерактивно двигать, масштабировать и вращать крестик на экране с помощью привычных мультитачевых жестов.
В качестве примера работы функции #.pan, эта программа позволяет пользователю интерактивно двигать, масштабировать и вращать крестик на экране с помощью привычных мультитачевых жестов.
Code: Select all
xc,yc = #.scrsize()
xc /= 2; yc /= 2
sc = 1; ac = 0
moved = 0
#.scroff()
drawlines(xc,yc,sc,ac)
>
? #.pan()
moved = 1
dx,dy,ds,da = #.pan(4)
drawlines(xc+dx,yc+dy,sc*ds,ac+da)
!
? moved
moved = 0
xc += dx; yc += dy; sc *= ds; ac += da
.
.
<
drawlines(xc,yc,sc,ac)=
s = 50*sc
ss = s*#.sin(ac)
cs = s*#.cos(ac)
#.scrclear()
#.drawsize(4)
#.drawline(xc+ss,yc-cs,xc-ss,yc+cs)
#.drawline(xc-cs,yc-ss,xc+cs,yc+ss)
#.scr()
.