TURBO PASCAL |
Новости |
1. 15. 5. 2. Мультипликация с чередованием видеостраниц
Для изменения всего изображения на
экране необходимо быстро заменять рисунок
на экране другим, готовым
рисунком. Это
обеспечивается возможностью рисования "вслепую"
-
на невидимой странице экрана.
При этом во время просмотра одной
видеостраницы, на
другой (невидимой, но
активной) происходит процесс рисования.
Затем страницы переключаются и
невидимая страница активизируется для
рисования.
Для качественных графических адаптеров
можно установить режимы работы с
несколькими графическими страницами,
см. таблицу на
стр.
Страницы переключаются для просмотра
на экране процедурой:
SetVisualPage(N); где N -
номер страницы. По
умолчанию видна и активна страница с N=0. Страница активизируется для рисования процедурой:
SetActivePage(N); Напомним,
что вывод рисунков можно проводить и на
невидимую страницу.
Переключение для просмотра выполняется
очень быстро, что
важно при создании движущихся изображений. Таким образом,
для создания изменяющихся изображений,
во время визуального просмотра одной
страницы на другой (невидимой,
но активной) странице создается рисунок.
Затем страницы переключаются для
просмотра подготовленного рисунка и
процесс повторяется.
Приведем пример фрагмента программы -
мультипликации с использованием
чередования кодовых страниц (режим двух
видеостраниц).
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;
В приведенной программе на
активной странице рисуется заполненный
прямоугольник, затем
страница включается для просмотра на
экране и активизируется другая страница на
которой рисуется заполненный
прямоугольник увеличенного размера.
Процесс повторяется в цикле.
|
(с) Все права защищены. По всем интересующим вопросам прошу писать электронный адрес |