Анимация в паскале.ppt
- Количество слайдов: 14
Анимация в Pascal ABC
Нарисуем сначала самую обычную окружность
program а; uses Crt, graph. ABC; begin circle(100, 200, 60); end.
В Паскале нет команды движения. Как же заставить двигаться окружность?
Нарисовали окружность Стерли Нарисовали в другом месте Чтобы у нас окружность стиралась и рисовалась много раз нам необходимо задать цикл
program h; uses Crt, graph. ABC; var x: integer; begin circle(100, 200, 60); for x : = 1 to 300 do begin circle(100+х, 200, 60); end; end. program h; uses Crt, graph. ABC; begin
Delay (задержка) –в скобках, в качестве параметра передается величина (в миллисекундах) необходимой задержки Например DELAY(20) Clearwindow-стирает, стереть – значит нарисовать ее на том же месте, но цветом фона
program h; uses Crt, graph. ABC; var x: integer; Begin begin for x : = 1 to 300 do Begin begin clearwindow; circle(100+х, 200, 60); delay(100) end; end.
Так же можно делать анимацию, использую уже готовые рисунки
Действия с рисунком n: = Load. Picture (name) – загружает рисунок из файла с именем name в оперативную память и возвращает описатель рисунка в целую переменную n. Если файл не найден, то возникает ошибка времени выполнения. Загружать можно рисунки в формате. bmp, . jpg или. gif. Draw. Picture (n, x, y) - выводит рисунок с описателем n в позицию (x, y) графического окна. Draw. Picture (n, x, y, w, h) – устанавливает ширину (w) и высоту (h) рисунка Set. Picture. Transparent(n, true) - устанавливает (b = True) или отключает (b = False) режим прозрачности при рисовании рисунка с описателем n. Если b = True, то при его рисовании фон не отображается. Фоновым считается цвет левого нижнего пиксела рисунка. Sleep(ms) - осуществляет паузу в выполнении программы на ms миллисекунд Использование процедуры перерисовки Redraw позволяет избежать моргания экрана.
Пример Пусть автомобиль перемещается на фоне здания и деревьев слева направо на расстояние 400 пикселей. Загрузим изображения фона и автомобиля из файлов gorod. gif и avto. jpg, поместив их описатели в переменные fon и avto. Установим прозрачность фона для изображения автомобиля Set. Picture. Transparent(avto, true). Зададим начальные координаты (х, у), ширину w и высоту h изображения автомобиля. Все переменные имеют тип integer. Процедуры рисования и стирания будем повторять в цикле с предусловием While до тех пор, пока автомобиль не переместится на 400 пикселей. На каждом шаге цикла координату х левого верхнего угла изображения увеличиваем на 10. Ширину уменьшаем на 2, а высоту на 1 пиксель для уменьшения изображения при удалении.
program Avto 1; uses Graph. ABC; var fon, avto, x, y, w, h: integer; begin Set. Window. Size (600, 300); fon: = Load. Picture ('город. gif'); avto: = Load. Picture ('автомобиль. jpg'); Set. Picture. Transparent (avto, true); x: = 10; y: = 170; w: = 240; h: = 100; while x < 400 do begin Clear. Window; Draw. Picture (fon, 0, 0); Draw. Picture (avto, x, y, w , h); x: = x + 10; w: = w - 2; h: = h - 1; sleep (20); Redraw; end.
Анимация в паскале.ppt