Анимация фигуры - изменение размеров и перемещение - PascalABC.NET
Формулировка задачи:
Помогите пожалуйста анимировать фигуру. Сначала она должна уменьшаться, а потом двигаться по диагонали к каждому углу экрана.
Решение задачи: «Анимация фигуры - изменение размеров и перемещение»
textual
Листинг программы
uses graphabc; procedure figura(x,y,r,a:integer); begin setpenwidth(3); r:=round(a*0.35); circle(x,y,r); Line(x,y-a,x-a,y+a); line(x,y-a,x+a,y+a); line(x,y+a,x-a,y-a); line(x,y+a,x+a,y-a); FloodFill(x,y-r-5,clblack); end; var c,r,a,x,y:integer; begin setwindowsize (640,640); centerwindow; c:=windowwidth div 2; a:=c; x:=c; y:=c; figura(x,y,r,a); lockdrawing; while a>50 do begin clearwindow; a:=a-5; figura(x,y,r,a); sleep(50); redraw; end; while x<windowwidth-a do begin clearwindow; x:=x+5; y:=y-5; figura(x,y,r,a); sleep(50); redraw; end; x:=c; y:=c; clearwindow; unlockdrawing; figura(x,y,r,a); lockdrawing; while x>a do begin clearwindow; x:=x-5; y:=y-5; figura(x,y,r,a); sleep(50); redraw; end; x:=c; y:=c; clearwindow; unlockdrawing; figura(x,y,r,a); lockdrawing; while x>a do begin clearwindow; x:=x-5; y:=y+5; figura(x,y,r,a); sleep(50); redraw; end; x:=c; y:=c; clearwindow; unlockdrawing; figura(x,y,r,a); lockdrawing; while x<windowwidth-a do begin clearwindow; x:=x+5; y:=y+5; figura(x,y,r,a); sleep(50); redraw; end; unlockdrawing; setfontsize(20); setfontcolor(clRed); textout(150,c,'Программа завершена!') end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д