Анимация.
Проверочная работа
Пример:
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.