Анимация в паскаль

14 сентября 2019 - Администратор

Анимация в паскаль Движение графического объекта в паскаль

В этой статье мы научимся перемещать графические объекты программах на паскаль, т.е. создавать анимацию на паскаль
Для эффекта передвижения на экране в программе паскаль, необходимо рисовать графический объект после паузы стирать его и рисовать с новыми координатами.

Общая структура программы для анимации на паскаль
 for  i:=1 to n do
begin 

1 нарисовать объект,
2 подождать какое-то время с помощью команды sleep(время паузы);
3 очистить экран 
4 изменить координаты объекта согласно направлению движения и его скорости
end;
5 рисуем конечное положение объекта

Напишем простейшую программу на паскаль, которая перемещает окружность по экрану. Для начала работы с графикой в программах на pascal, необходимо в начале программы подключить графический модуль с помощью команды
uses GraphABC; подробно о работе с графикой в pascal abc.
Простейшая программа на паскаль, в которой окружность перемещается по экрану
uses GraphABC;
var i,x : integer;
begin
setWindowSize(500, 500);
clearwindow(clBlack);
for i:=1 To 100 do
begin
SetPenColor(clBlack);
circle(i,50,20);
sleep(10);
clearwindow();
end;
SetPenColor(clBlack);
circle(i,50,20);
end.

Для того, чтобы запрограммировать перемещение более сложного объекта в графическом режиме паскаль, необходимо создать процедуру рисования объекта, в которую будут передаваться координаты объекта. Тогда структура программы на паскаль для движения  сложного объекта
for  i:=1 to n do
begin 

1 вызвать процедуру рисования объекта с координатами x и y
2 подождать какое-то время с помощью команды sleep(время паузы);
3 очистить экран 
4 изменить координаты объекта согласно направлению движения и его скорости
x=x+vx;
y=y+vy;
end;

5 вызвать процедуру рисования объекта с координатами x и y
Напишем программу для передвижения изображения автомобиля по экрану на паскале. Для этого предварительно напишем процедуру, которая рисует изображение автомобиля по координатам. В процедуру передаются координаты x и y, это координаты левого верхнего угла машины, относительно них создаются все объекты машины. Родробно о процедурах в паскаль
procedure car (x, y : integer);
begin
rectangle (x,y,x+100,y+40);
floodfill (x+1, y+1, clRed);
circle (x+20,y+40,15);
floodfill (x+20, y+40, clGray);
circle (x+60,y+40, 15);
floodfill (x+60, y+40, clGray);
rectangle (x+20, y-30, x+70, y);
floodfill(x+22,y-2, clRed);
end;

В теле программы создаются начальные координаты и скорость
x :=100;
y :=200;
v :=2;

В цикле for выполняем алгоритм анимации
for i:=1 To 50 do
begin
SetPenColor(clBlack);
car(x,y);
sleep(10);
clearwindow();
x := x+v;
end;

После цикла for отрисовываем конечное положение автомобиля.
car(x,y);
Полный текст программы для передвижения автомобиля по экрану на паскале
uses GraphABC;
var i,x,y, v : integer;
procedure car (x, y : integer);
begin
rectangle (x,y,x+100,y+40);
floodfill (x+1, y+1, clRed);
circle (x+20,y+40,15);
floodfill (x+20, y+40, clGray);
circle (x+60,y+40, 15);
floodfill (x+60, y+40, clGray);
rectangle (x+20, y-30, x+70, y);
floodfill(x+22,y-2, clRed);
end;
begin
setWindowSize(500, 500);
clearwindow(clBlack);
x :=100;
y :=200;
v :=2;
for i:=1 To 50 do
begin
SetPenColor(clBlack);
car(x,y);
sleep(10);
clearwindow();
x := x+v;
end;
car(x,y);
end.

Перейти к содержанию курса Паскаль

Полезно почитать по теме графика на паскаль

Графика на Паскаль 

Узоры на Паскаль

Поделиться:

 
Комментарии (0)

Нет комментариев. Ваш будет первым!