APPLICATIONSCREATION GRAPHIQUE ★ GRAPH & AFFIGRAPH: ANIMEZ VOS ÉCRANS ★

Graph - AffigraphApplications Creation Graphique

Animez facilement vos écrans et fabriquez, du même coup, de magnifiques jeux d'arcade.
La création et l'animation de motifs graphiques sont assez délicates sur un Amstrad. Cet état de fait, principalement dû à l'absence de lutins (sprites, en anglais), est contourné la plupart du temps par la création de chaînes de caractères graphiques, redéfinis le cas échéant. Cette méthode possède plusieurs inconvénients :

  • il n'est possible d'exploiter que deux couleurs ;
  • le dessin des motifs est fastidieux et passe par de longues listes de symbol ;
  • l'utilisation des caractères de contrôle de déplacement du curseur souffre de certaines limitations (corrigées sur les 664 et 6128) ;
  • enfin, l'affichage reste lent et, lors d'une alimentation, les motifs semblent se tortiller.
C'est essentiellement pour toutes ces raisons que la création de jeux d'action rapides était jusque là quasiment impossible en Basic. Les programmes Graph et Affigraph permettent la création et l'affichage rapide de plusieurs motifs graphiques.

Le logiciel de création graphique, appelé Graph (liste 1), autorise la création de motifs de taille variable pouvant atteindre 50 x 50 pixels. Le logiciel vous demande d'abord la taille de votre motif. Etant donnée la structure complexe de la mémoire écran, et dans un souci de vitesse et de simplicité, la hauteur doit être un multiple de 8 et la largeur un multiple de 4. Graph fait alors apparaître une grille qui occupe la majeure partie de l'écran. Avec les lettres L, B et G, vous pouvez lever, baisser ou transformer en gomme un crayon représenté par un curseur clignotant. Avec la lettre T, vous changez de couleur (0 à 3).

La redéfinition de la palette de couleurs est possible en modifiant le programme. La partie droite de l'écran affiche le motif en grandeur nature et renseigne sur l'état et la position du curseur. Ce dernier se déplace à l'aide des touches du pavé numérique (huit directions). Lorsque vous avez terminé votre dessin, il faut le sauvegarder. Deux voies s'offrent alors à vous : soit choisir l'option source, le fichier généré ne permettra alors de retravailler le dessin qu'ultérieurement ; soit sauvegarder le dessin sous forme binaire, vous pourrez dans ce cas, à l'aide du programme Affigraph afficher le motif ainsi conservé.

LES DIFFÉRENTES LISTES

La liste 1 est celle du logiciel de création graphique Craph. Il faut noter que lors de son lancement, le programme demande si vous voulez charger un fichier source pour retravailler un ancien dessin.
La liste 2 (Affigraph) implante en mémoire et à partir de l'adresse 40000, la routine d'affichage en langage machine, ce qui, d'une part évite de passer par un Assembleur et d'autre part, permet l'intégration de cette routine dans un programme Basic. La deuxième partie de cette liste (lignes 320 à 500) donne un exemple d'exploitation de cette routine (à n'utiliser qu'après création et sauvegarde sous forme binaire d'un dessin).
La liste 3 est celle de la routine d'affichage en Assembleur. A noter que cette routine ne fonctionne qu'en mode 1, qui représente, pour les ¡eux d'action, le meilleur compromis entre la définition et le nombre de couleurs disponibles. Cette dernière liste n'a pas à être tapée au clavier, sauf application spéciale... et si vous possédez un Assembleur !

Lors de la sauvegarde d'un dessin sous forme binaire, Graph demande l'adresse d'implantation. C'est à partir de cette adresse que le fichier généré sera placé lors d'un chargement. Attention donc à donner une valeur qui ne chevauche pas un autre dessin et qui soit supérieure à la plus haute adresse accessible au Basic (déterminée par MEMORY, en ligne 190 du programme Graph).

La routine d'affichage en langage machine dont la liste est fournie (listes 2 et 3) rend dès lors possible l'affichage d'un dessin créé, sauvegardé sous forme binaire et rechargé en mémoire. Cette opération s'effectue par l'instruction call suivie de quatre paramètres. Le premier doit obligatoirement être 40000 (adresse d'implantation de la routine), les deux suivants donnent les coordonnées auxquelles l'objet doit être affiché, le dernier est l'adresse à laquelle le dessin est stocké. Ainsi, call 40000.5,1035000 affichera aux coordonnées 5,10 (fonctionnant comme locate en mode 1), le dessin stocké en mémoire à partir de l'adresse 35000.

Pour le cas où votre premier essai provoquerait un « plantage », voici les causes les plus probables : le fichier binaire de la forme de l'objet n'a pas été chargé en mémoire; la routine d'affichage n'est pas en mémoire ; les paramètres des coordonnées sont invalides (X>40 ou Y>25), ou font sortir une partie du dessin de l'écran ; le memory ne protège pas la routine en langage machine ou les zones mémoires des dessins.

Si la routine Affigraph se contente d'afficher un dessin à la position désirée, il est simple de l'exploiter pour animer des personnages.

La première méthode consiste à créer un dessin entièrement vide de même taille que celui à animer. Il suffira alors d'éteindre le dessin en affichant au même emplacement le dessin « vide », puis de placer le premier dessin juste à côté, cela plusieurs fois pour donner l'illusion du mouvement. Une seconde méthode plus élégante consiste, durant la création du dessin à animer, à laisser une bande vide de huit pixels de large, en haut, en bas, à droite et à gauche du motif ; lors de l'affichage successif du dessin à des positions différentes, le motif s'auto-effacera au fur et à mesure de son déplacement, à condition que l'objet n'avance pas de plus d'une « case » (huit pixels) à la fois.

L'animation au sens large, comme le déplacement d'un homme qui marche, peut s'obtenir par superposition successive de plusieurs dessins, stockés bien sûr à des adresses différentes.

MICROSTRAD n°4

★ EDITEUR: MICROSTRAD
★ ANNÉE: 1986
★ CONFIG: 64K + AMSDOS
★ LANGAGE:
★ LiCENCE: LISTING
★ AUTEUR: THIERRY LÉVY-ABÉGNOLI
 

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Graph-Affigraph    (Microstrad)    LISTING    FRENCHDATE: 2021-02-02
DL: 204
TYPE: PDF
SiZE: 477Ko
NOTE: 5 pages/PDFlib v1.6

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Graphics Ressouces/Stuff (fontes OCP/FNT/SCR)
» Applications » Fraktales Gebirge (CPC Amstrad International)
» Applications » Space Writing (Amstar&CPC)
» Applications » Pattern Fill (Computing with the Amstrad)
» Applications » Spred (Schneider Magazin)
» Applications » The Advanced OCP Art Studio - Manuel de L'UTILISATEUR
Je participe au site:
» Pour ce titre nous ne disposons de fichier executable sur CPC (Dump, Saisie du listing) , alors si vous avez ça dans vos cartons ou vous désirez usé vos petit doigts boudinés sur votre clavier faites le nous savoir.
» Vous avez des infos personnel ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 231 millisecondes et consultée 1583 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.