Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal.DOC
Скачиваний:
23
Добавлен:
21.03.2015
Размер:
1.77 Mб
Скачать

Практическое задание n 1. 63

1. Создать перемещающуюся слева направо фигурку чередованием двух или трех образов с озвучиванием перемещения. Варианты фигурок:

- катящееся колесо со спицами,

- шагающий ослик,

- летящая со взмахами крыльев птица,

- летящий вертолет (вид сверху),

- гребец в лодке,

- прыгающий мяч, деформирующийся при ударе.

2. Создать картину: перемещение машины (прямоугольника) желтого цвета на фоне гор (треугольников) синего, темно-серого, фиолетового, зеленого цветов. Определить заранее цвет машины на фоне гор, и вывести названия этих цветов над горами.

3. Создать картину: перемещение самолета (треугольника) белого цвета на фоне облаков (эллипсов) голубого, ярко-голубого, ярко-синего, ярко-серого цветов. Определить заранее цвет самолета на фоне облаков, и вывести названия этих цветов над облаками.

4. Создать "бегущую строку" ( в графическом режиме ). Для этого необходимо вывести на экран надпись и в цикле выводить в другой области экрана часть буфера от 0 до Size и от Size до 0, одновременно изменяя координату "х" начала вывода строки от GetMaxX до нуля.

1. 15. 5. 2. Мультипликация с чередованием видеостраниц

Для изменения всего изображения на экране необходимо быстро заменять рисунок на экране другим, готовым рисунком. Это обеспечивается возможностью рисования "вслепую" - на невидимой странице экрана. При этом во время просмотра одной видеостраницы, на другой (невидимой, но активной) происходит процесс рисования. Затем страницы переключаются и невидимая страница активизируется для рисования.

Для качественных графических адаптеров можно установить режимы работы с несколькими графическими страницами, см. таблицу на стр.

Страницы переключаются для просмотра на экране процедурой:

SetVisualPage(N);

где N - номер страницы. По умолчанию видна и активна страница с N=0.

Страница активизируется для рисования процедурой:

SetActivePage(N);

Напомним, что вывод рисунков можно проводить и на невидимую страницу.

Переключение для просмотра выполняется очень быстро, что важно при создании движущихся изображений. Таким образом, для создания изменяющихся изображений, во время визуального просмотра одной страницы на другой (невидимой, но активной) странице создается рисунок. Затем страницы переключаются для просмотра подготовленного рисунка и процесс повторяется.

107

Приведем пример фрагмента программы - мультипликации с использованием чередования кодовых страниц (режим двух видеостраниц).

k:= 2; { количество кодовых страниц }

Repeat

for i:= 1 to 100 do

begin j:= i mod k; { j - номер кодовой страницы }

SetActivePage(j); { активизируем страницу без ее показа }

ClearDevice; { стираем старый рисунок }

SetfillStyle(1, i div 15 +1); { изменение цвета заполнения через 15 стр. }

Bar(1, 1, i+10, i+5); { строим новый рисунок }

SetVisualPage(j); delay(40) { показываем страницу }

end

Until KeyPressed;

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]