FlipBuffers()

Syntaxe

FlipBuffers()
Description
Les deux tampons, celui de l'écran visible (Front) et celui de l'écran invisible (Back) sont interchangés. La zone invisible est désormais visible et vice versa, ce qui permet de faire un effet de "double-buffering" et d'éviter le scintillement (flickering).

Arguments

Aucun.

Valeur de retour

Aucune.

Remarques

La fonction FlipBuffers() doit toujours être appelée en dehors d'un bloc StartDrawing() : StopDrawing().

Un écran doit avoir été ouvert avec OpenScreen() ou OpenWindowedScreen().
La manière dont les tampons sont interchangés (avec ou sans synchronisation) est fixé par OpenScreen() ou OpenWindowedScreen().

Exemple

 ;Initialisation du système d'affichage.
InitSprite() 

 ;Ouverture d'un écran 800*600 32 bits, noir par défaut
OpenScreen(800, 600, 32, "Sprite")
 ;Par défaut, les deux buffers sont remplis par un fond noir
 ;Appelons-les : Buffer_NonAffiché et Buffer_Affiché
 ;Buffer_Affiché = Fond noir / Buffer_NonAffiché = Fond noir

Delay(1000) ; Attendre 1 seconde
 ;L'écran est noir pendant 1s

 ;ATTENTION : Toutes les actions 2D se font sur le Buffer_NonAffiché
ClearScreen(RGB(255,0,0))
 ;Buffer_Affiché = Fond noir / Buffer_NonAffiché = Fond rouge

FlipBuffers() ; Il faut inverser les buffers pour afficher l'écran rouge
 ;Buffer_Affiché = Fond rouge / Buffer_NonAffiché = Fond noir

Delay(1000) ; Attendre 1 seconde
 ;L'écran est rouge pendant 1s 

ClearScreen(RGB(0,255,0))
 ;Buffer_Affiché = Fond rouge / Buffer_NonAffiché = Fond vert

FlipBuffers(); Il faut inverser les buffers pour afficher l'écran vert
 ;Buffer_Affiché = Fond vert / Buffer_NonAffiché = Fond rouge

Delay(1000) ; Attendre 1 seconde
 ;L'écran est vert pendant 1s 

ClearScreen(RGB(0,0,255))
 ;Buffer_Affiché = Fond vert / Buffer_NonAffiché = Fond bleu

FlipBuffers(); Il faut inverser les buffers pour afficher l'écran bleu
 ;Buffer_Affiché = Fond bleu / Buffer_NonAffiché = Fond vert

Delay(1000) ; Attendre 1 seconde
 ;L'écran est bleu pendant 1s 

FlipBuffers(); l'écran est vert !!!
 ;Buffer_Affiché = Fond vert / Buffer_NonAffiché = Fond bleu

Delay(1000) ; Attendre 1 seconde
 ;L'écran est vert pendant 1s

CloseScreen()  

Voir aussi

OpenScreen(), OpenWindowedScreen()

OS Supportés

Tous

<- ExamineScreenModes() - Screen Index - IsScreenActive() ->