La construction d'une image consiste à appliquer, au fur et à mesure, les couches successives qui vont constituer cette image.
Dans la plupart des jeux, l'image est constituée d'un décor statique ou défilant (scrolling), d'un deuxième décor le cas échéant qui défile à la même vitesse ou non mais qui est transparent, ce qui donne l'effet de profondeur, et en dernier lieu de l'affichage des sprites qui compose le joueur, les ennemis, les décors....

Dans l'exemple qui suit (Totalwar, qui sera bientôt en téléchargement), le jeu est constitué d'un décor de fond défilant, d'un décor parallax défilant deux fois moins vite, puis des sprites.
En tout premier lieu, je transfère le décor de fond dans un buffer final.
Suit après le transfert du décor parallax sur cet écran final en mode transparent.
Je dessine tous les sprites sur cet écran final.
J'attends le retour de balayage vertical du moniteur (ref: La synchronisation) puis je transfère cet écran sur la carte VGA.
Je teste les collisions, la vie du joueur ... puis je reconstruis l'image et ainsi de suite.

 

PRINCIPE DE BASE:

 

PHASE DU PROGRAMME
Afficher le décor de fond
Afficher les sprites
Traiter les actions (joueur, sprites....)
Attendre la synchro vidéo
Transférer l'écran sur la carte VGA
Retour au début

EXEMPLE CONCRET:

 

Placer le décor de fond (sol gris)... (ecran0 ->ecran1)

...Placer le décor niveau 1 (parallax sol bleu)...(ecranp)

...en le transférant en mode transparent...(ecranp->ecran1)

...puis de placer les sprites et score. Cette fois-ci, l'image est construite.

Il suffit de transférer cette image située en mémoire sur la carte VGA (ecran1->VGA).

Les indications (ecran1, ecran0, ecranp) vous serviront de repère pour la suite.