Анимация.

Проверочная работа


Пример:

PROGRAM Zemlya_Luna;

USES GraphABC;

VAR pic1,pic2,pic3:picture;

h,x,y,r,alfa,xz,yz:integer;

BEGIN

SetWindowTitle('Анимация');

h:=600; {Размер графического окна}

SetWindowSize(h,h);

CenterWindow;

{Создаем изображения}

pic1:=New Picture('Sky.jpg');

pic2:=New Picture('Earth.png ');

pic3:=New Picture('Moon.png ');

r:=200;{Радиус орбиты Луны}

var dalfa:=1;{Приращение угла поворота}

xz:=200;yz:=200;{Положение Земли}

{Включаем прозрачность пикселей, если это нужно}

pic2.Transparent := True;

pic3.Transparent := True;

{Блокировка графического окна}

LockDrawing;

WHILE true DO {бесконечный цикл}

BEGIN

clearwindow;

{Прорисовка неба и Земли}

pic1.Draw(0,0,h,h);

pic2.Draw(xz,yz,150,150);

{Вычисляем положение Луны}

alfa +=dalfa;

x:=round(r*cos(alfa*pi/180))+50+xz;

y:=round(r*sin(alfa*pi/180))+50+yz;

pic3.Draw(x,y,30,30); {Прорисовываем Луну}

ReDraw; {Выводим собранный рисунок в графическое окно}

sleep(20); {Пауза}

END;

END.


Упражнение

Измените программу Примера так, чтобы к вращению Луны вокруг Земли добавилось вращение искусственного спутника.

Файлы необходимые для программы можно скачать отсюда: sky.jpg, earth.png, moon.png, satellite.png.