CODING ★ DEPLACEMENT DE SPRITE EN MODE 0 SUR FOND UNI ★

Graphic - 13 - Fond Uniforme (SOS Programmeurs)

Cela a été évoqué dans notre précédent chapitre , on prend la version 2 du programme et on enlève tout ce qui concerne la gestion de l'animation sur un fond multicolore donc plus de buffer , plus de table , plus de composition sur 3 plans , plus de calculs , en bref , ce n'est plus de la programmation mais une démolition systématique du programme ! Ca défoule ... Après ce passage à la moulinette , il reste si peu de chose que nous préférons donner le listing complet pour lever toute ambiguité . Les lignes ne sont commentées que lorsqu'il y-a une différence avec la précédente version .

On est en droit de penser que dans le cas ou plusieurs sprites sont gérés par une routine de ce type et que 2 d'entre eux se croisent , l'effet doit être des plus curieux . Pas du tout , c'est si rapide que seul un léger cligotement est perceptible .

» SOURCE ASSEMBLEUR/Z80

CONCLUSION

Lors de l'usage des démonstrations, vous verrez que la rapidité d'exécution ne diffère notablement qu'en l'absence de CALL FRAME (DS 3,0) dans les listings. Si on l'utilise , cette différence reste à peine visible. Il faut toutefois penser que ces routines ne gèrent QU'UN SPRITE à la fois. Si elles devaient en déplacer 10 ou 20 à chaque tour de boucle , le temps d'exécution SANS FRAME serait considérablement augmenté. Comme dans ces 3 routines , les quelques tremblements subsistant en l'absence de FRAME sont liés à la rapidité des affichages successifs , avec plusieurs sprites à gérer les défauts seraient moins perceptibles. On peut aussi gérer les déplacements sous interruption ou inclure au programme des temporisations déterminées empiriquement pour remplacer FRAME . Les méthodes sont multiples et il ne tient qu'à vous d'en créer de nouvelles. Ce numéro de SOS PROGRAMMEURS en termine avec les déplacements de sprites proprement dit .

Dans SOS7 nous aborderons une série d'astuces pour agrémenter ces routines d'animation du genre :

  • Introduction d'une 3ème coordonnée (z) conjointement avec un effet zoom et plans moyens pour simuler une approche en 3D .
  • Gestion simultannée de plusieurs sprites .
  • Miroirs .
  • Animation par supperpositions .
  • Déformations .
  • Tests de collisions , etc ...
  • Et aussi un peu de hard avec l'affichage en 'OVERSCAN' et un peu de scrollings s'il reste de la place . Alors rendez vous entre le 15 juillet et le 10 aout , en cette période de vacances , nous n'osons donner une date précise depuis les tuiles de l'an passé ...

SOS PROGRAMMEURS

★ ANNÉE: ???
★ AUTEUR: MICHEL MAIGROT

Page précédente : Graphic - 10 - Deplacement de Sprite Pixel Par Pixel sur 3 Plans en Mode 0
★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tool:
» SOS7DEMODATE: 2011-06-03
DL: 1513
TYPE: ZIP
SiZE: 8Ko
NOTE: 40 Cyls
.HFE: Χ

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

Lien(s):
» Coding Src's » Graphic - Controlling Patterns
» Coding Src's » Formas multicolores (Amstrad Personal)
» Coding Src's » Roll-It
» Coding Src's » Sierpinski-Dreiecke (CPC Amstrad International)
» Coding Src's » Side-scroll (Popular Computing Weekly)
» Coding Src's » Hot City Lights (Amstrad Computer User)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» 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 760 millisecondes et consultée 1850 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.