PureBasic

FlipBuffers()

Синтаксис

FlipBuffers()

Описание


Меняет местами передний и задний буферы текущего экрана. Невидимая область становится видимой и наоборот, что позволяет создать эффект 'двойной буферизации' и избежать мерцания экрана. Экран должен быть открыт с помощью OpenScreen() или OpenWindowedScreen(), при этом задаётся способ переключения буферов (с синхронизацией или без нее).
Вывод графической информации всегда осуществляется во вторичный буфер (который в данный момент невидим).

Параметры

Ничего.

Возвращаемое значение

Ничего.

Комментарии

Функция FlipBuffers() должна вызываться вне программного блока StartDrawing() : ... : StopDrawing().

Пример (фран.)

;Инициализация системы отображения.
InitSprite()

;Открытие 800 * 600 32-битного экрана, черного по умолчанию
OpenScreen(800, 600, 32, "Sprite")
;По умолчанию оба буфера заполнены черным фоном
;Давайте назовем их: Buffer_Not Displayed и Buffer_Displayed
;Buffer_Display = черный фон / Buffer_Not Displayed = черный фон

Delay(1000) ; Задержка 1 секунду
            ;Экран черный на 1с

;ВНИМАНИЕ Все 2D - действия выполняются в Buffer_Not
ClearScreen(RGB(255, 0, 0))
;Buffer_Display = черный фон / Buffer_Not Displayed = красный фон

FlipBuffers() ; Вы должны инвертировать буферы, чтобы отобразить красный экран
              ;Buffer_Display = Красный фон / Buffer_Not Displayed = Зеленый фон

Delay(1000) ; Задержка 1 секунду
            ;Экран красный на 1с

ClearScreen(RGB(0, 255, 0))
;Buffer_Display = Красный фон / Buffer_Not Displayed = Зеленый фон

FlipBuffers(); Вы должны инвертировать буферы для отображения зеленого экрана
            ;Buffer_Display = Зеленый фон / Buffer_Not Displayed = Красный фон

Delay(1000) ; Задержка 1 секунду
            ;Экран зелёный на 1с

ClearScreen(RGB(0, 0, 255))
;Buffer_Display = Зеленый фон / Buffer_NotAffiched = Синий фон

FlipBuffers(); Вы должны инвертировать буферы, чтобы отобразить синий экран
            ;Buffer_Display = синий фон / Buffer_Not Displayed = зеленый фон

Delay(1000) ; Задержка 1 секунду
            ;Экран синий на 1с

FlipBuffers(); экран зеленый !!!
            ;Buffer_Display = Зеленый фон / Buffer_NotAffiched = Синий фон

Delay(1000) ; Задержка 1 секунду
            ;Экран зелёный на 1с

CloseScreen()

См. также

OpenScreen(), OpenWindowedScreen()

Поддерживаемые OS

Все

<- ExamineScreenModes() - Оглавление Screen - IsScreenActive() ->