Si vous utilisez des ecrans avec double buffering, une copie separee de la zone d arriere-plan est creee pour chacun des deux ecrans. A la fin d une routine d affichage, les ecrans logique et physique sont interchanges automatiquement pour s assurer qu ils soient parfaitement synchronises. Tant que le contenu de l ecran anime reste completement fixe, il n y a aucun probleme pour mettre a jour une image statique.
Malheureusement, des que le contenu de l ecran change, les parties sauvegardees de l ancienne image sont copiees sur l ecran mis a jour et cela corrompt l image. Ce probleme ne peut etre evite que si toutes les commandes de dessin standard sont synchronisees avec les deux ecrans, physique et logique. AMOS Professional gere cela avec le puissant systeme AUTOBACK.
AUTOBACK est tres intelligent et completement automatique, mais il ne peut synchroniser que les commandes de graphisme et de texte. Si vous souhaitez manipuler l ecran directement avec SCREEN COPY ou SCROLL, vous devrez gerer cela manuellement. En d autres termes, vous devrez maintenir les ecrans logique et physique en synchronisation, en appliquant exactement les memes operations aux deux.
La routine suivante montre le danger de basculer entre les ecrans lorsqu ils contiennent des contenus differents :
E> Double Buffer Autoback 0 Do Paper 4 : Print "Hello from the first screen" Screen Swap : Wait Vbl Paper 6 : Print "Greetings from screen two" Screen Swap : Wait Vbl Loop
Les commandes de mise a jour
Dans des conditions normales, AMOS Professional affiche tous les Bobs en meme temps. Donc, si les coordonnees d un Bob sont modifiees, on s attend a le voir apparaitre a sa nouvelle position immediatement.
Malheureusement, le materiel de l Amiga ne peut redessiner qu un nombre limite d objets par cycle d affichage. Cela signifie que si vous tentez de deplacer plusieurs Bobs en meme temps, certains seront repositionnes a des moments legerement differents, ce qui cree des mouvements saccades.
Heureusement, AMOS Professional offre une solution simple a ce probleme.
BOB UPDATE
instruction : deplacer plusieurs Bobs simultanement
Bob Update
Bob Update Off
Bob Update On
BOB UPDATE effectue tous les deplacements de Bobs d un seul coup, donc tous les objets sont deplaces au meme instant dans votre programme. Le resultat est un mouvement incroyablement fluide, meme avec des dizaines d objets a l ecran en meme temps. BOB UPDATE est tres facile a utiliser, comme l explique la technique suivante.