понедельник, 25 февраля 2013 г.

Анимация

1. Движение шарика

Алгоритм движения следующий:  пером красного цвета рисуем параметризованную окружность (изменяемые параметры - координаты центра), заливаем круг внутри окружности красным цветом. Делаем задержку. Очищаем экран в цвет фона (т.е. стираем шарик). За счет изменения параметра получаем необходимое  смещение шарика.
Пример программы, где шарик движется по диагонали.
Uses GraphABC;
var i:integer;

procedure shar(a:integer);
var k,m:integer;
begin
SetPenColor(clRed);
Circle(a,a, 50);
FloodFill(a,a,clRed );
for k:=1 to 100000 do m:=m+1;
ClearWindow(clSilver );
end;

begin
SetWindowHeight(500);
SetWindowWidth(500);
ClearWindow(clSilver );
for i:=1 to 500 do shar(i);
end.
Задание 1. Измените цвет шарика на зеленый, а цвет фона на желтый.
Задание 2. Измените программу таким образом, чтобы шарик двигался по горизонтали в центре окна.
Задание 3. Измените программу таким образом, чтобы шарик двигался по вертикали в центре окна.
Задание 4. Измените программу таким образом, чтобы шарик двигался по второй диагонали сверху вниз.

2. Изменение размера шарика

Пример программы рисующей раздувающийся пузырь. Центр пузырика стоит на месте, увеличивается радиус.

Uses GraphABC;
var i:integer;

procedure shar(a:integer);
var k,m:integer;
begin
SetPenColor(clSkyBlue);
Circle(250,250, a);
FloodFill(250,250,clSilver);
for k:=1 to 100000 do m:=m+1;
ClearWindow(clSilver );
end;

begin
SetWindowHeight(500);
SetWindowWidth(500);
ClearWindow(clSilver );
for i:=1 to 250 do shar(i);
end.
Задание 1. Измените цвет пузырика и цвет фона.
Задание 2Измените программу таким образом, чтобы пузырик увеличивался и двигался по главной диагонали.

Комментариев нет:

Отправить комментарий