TURBO PASCAL

Новости       

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности 

Гостевая книга

Спонсор

От автора

 

        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;

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

 

На первую страницу

Rambler's Top100 PROext: Top 1000
Rambler's Top100

(с) Все права защищены.

По всем интересующим вопросам прошу писать электронный адрес

Hosted by uCoz