Другие языки программирования и технологии

ребята, может кто-нибудь объяснить как на pascal создавать анимированные объекты?

P.s думаю, что это поможет мне больше, чем, если я просто попрошу решить задачи
Если задача на сближение двух шаров, то я бы на решил её на PascalABCNet так:

uses GraphABC;
var
R,Xa,Ya,Xb,Yb:integer; // радиус и координаты
d:integer; // изменение (т. е. скорость)
markA,markB:boolean; // маркеры, указывающие направление движение шаров
a,b:integer; // размеры window-окна)
begin

R := 50; // радиусы шаров
Xa := 100; // координаты
Ya := 100;
Xb := 500;
Yb := 100;
d := 1; // скорость
markA := true; // направление движение - навстречу
markB := true;

a := 700; // размеры окна
b := 300;
SetWindowSize(a,b); // устанавливаем

while(true) do begin
clearwindow; // очищаем экран
setBrushColor(clRed); // устанавливаем цвет шара
circle(Xa,Ya,R); // рисуем шар
setBrushColor(clBlue); // то же самое
circle(Xb,Yb,R);

// в зависимости от направления движения шара (т. е. переменной mark), изменяем и координаты по Иксу.
if(markA = true) then Xa := Xa + d
else Xa := Xa - d;
if(markB = true) then Xb := Xb - d
else Xb := Xb +d;
// шары сталкиваются вместе именяют направления на противоположные
if(Xa+50 = Xb-50) then begin markA := false; markB := false; end;
if(Xa-50 = 0) then markA := true; // шар сталкивается с правой стенкой
if(Xb+50 = a) then markB := true; // шар сталкивается с левой стенкой
sleep(10); // время задержки
redraw;
end;

end.
Ильдар Сагитов
Ильдар Сагитов
5 430
Лучший ответ
Жека Киселёв спасибо за личный ответ в агенте. вы мне очень помогли.
Поверьте -- вам никогда не пригодится умение двигать картинки в паскале.
Жека Киселёв увы, курсовая так не считает :с
Смотря, какая анимация? Если 2D, то в старых Delphi, с помощью GDI+, или GR32. Если будете делать, то лучше GR32: бесплатная, простая, и реально быстрая. Если 3D, то можно через WinAPI: OpenGL или DirectX, но лучше возьмите готовый движок GLScene, она бесплатная. Все можно лехко скачать, вместе с примерами, если надо: ищите в гуглях по названиям, которые я дала.
Если DelphiXE3, и старше, то можно делать в FireMonkey, без дополнительных примочек.
Если в TurboPascal, то 3D ИМХО только через WinAPI: OpenGL или DirectX, но возни ОЧЕНЬ много. Если 2D-анимацию, то через GDI+, это проще, но тож муторно.

Анимация делается часто, и на Delphi, в его обычной нише: в больших системах заказчики хотят навороченные интерфейсы, и + визуализацию данных.
Паша Игилов
Паша Игилов
48 987
*no_Name* *no_Commment* > Если в TurboPascal, то 3D ИМХО только через WinAPI: OpenGL или DirectX
OpenGL и DirectX - в Turbo Pascal? 0_o Типа во времена DOS уже можно было трехмерные игры писать?

Да и причем здесь WinAPI? WinAPI - это GDI, ну GDI+ в крайнем случае, но не OpenGL и тем более не DirectX.
На каком паскале из их множества?
Сергей Обухов
Сергей Обухов
15 749