Toute complexite de cette technique est entierement geree automatiquement, donc une fois que DOUBLE BUFFER est active, vous pouvez vous detendre.
Puisque les Sprites materiels sont superposes directement sur l affichage televise, le double tampon n a aucun effet sur les animations de Sprites existantes.
Le systeme de double buffering fonctionne aussi bien dans tous les modes graphiques de l Amiga, et peut egalement etre utilise avec les champs de jeu doubles (dual playfields). Vous devez savoir que le double buffering requiert deux zones de memoire separees : une pour l ecran logique et une pour l ecran physique. Cela double donc la memoire requise. Par exemple, un ecran standard 16-couleurs necessitera environ 32ko supplementaires. Si vous essayez d utiliser DOUBLE BUFFER sur trop d ecrans, la memoire disponible sera vite epuisee.
En pratique, le double buffering est inestimable, et la memoire supplementaire necessaire est bien investie. Il peut etre exploite dans des routines 3D avancees, et il est particulierement utile pour les effets de defilement (scrolling), car les nouvelles zones d affichage sont copiees directement en arriere-plan sans corrompre l affichage actuel.
En option, AMOS Professional fournit un controle total sur le systeme DOUBLE BUFFER, et une explication complete se trouve dans le chapitre suivant. Pour une demonstration rapide de ce qui se passe quand on n utilise pas DOUBLE BUFFER, lancez le programme HELP_26.
Cette demonstration produit un effet de clignotement desagreable. A chaque fois qu un Bob bouge a l ecran, les graphismes en-dessous sont replaces a leur position originale. Malheureusement, puisque les Bobs sont mis a jour en meme temps que les images de l ecran, ce type de clignotement se produit. En utilisant DOUBLE BUFFER, les ecrans sont echanges apres que le dessin soit termine. Et comme explique plus haut, le processus est totalement automatique.
GET BOB
instruction : capturer une image depuis une partie de l ecran
Get Bob image,x1,y1 To x2,y2
Get Bob numero ecran,image,x1,y1 To x2,y2
Cette commande capture une partie de l ecran actuel et la copie dans la banque d objets. Apres avoir donne le numero de l image a creer, indiquez les coordonnees du coin superieur gauche jusqu au coin inferieur droit de la zone a capturer. Si le numero d image choisi existe deja, l image sera remplacee. Sinon, elle sera ajoutee a la banque.
Un numero d ecran optionnel peut etre fourni juste apres la commande GET BOB, permettant ainsi de capturer une image depuis un ecran specifique. Voici un exemple :
E> Curs Off : Cls 0 : Double Buffer : Flash Off Text 50,10, "AMOS Professional Basic!" Get Bob 1,50,0 To 250,20 For B=0 To 180 Bob 1,50,B,1 Wait Vbl Next B