Mode 13h et graphisme

Signaler
Messages postés
22
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
17 juin 2006
-
Messages postés
59
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
2 juin 2004
-
je suis en train de programmer un TRON et je voudrais savoir comment gérer l'ecran graphique en ayant une partie fixe(fond)en bitmap et une partie mobile( menu, vaisseau ...)
depplus il parait que je peut faire intervenir des bout d'image et non seulement pixel par pixel comme pour des lettres ou des vaisseaux peut on m'expliquer le moyen de réalisé ce projet de meme serait il possible que ces bout d'image soit mis en bitmap

Si quelqu'un pouvait me faire parvenir aussi un exemple des couleurs utilisé par masm afinb de faire de joli dessin

1 réponse

Messages postés
59
Date d'inscription
dimanche 15 décembre 2002
Statut
Membre
Dernière intervention
2 juin 2004

> je suis en train de programmer un TRON et je voudrais savoir comment gérer l'ecran graphique en ayant une partie fixe(fond)en bitmap et une partie mobile( menu, vaisseau ...)

Pour ca tu doit utiliser la technique du back buffer : tu cree un espace mémoire (320*200=64000octets)
la boucle d'affichage est la suivante :

Charger l'image de fond dans le back buffer
placer les 'bouts d'images' ou sprites (menu vaisseau texte...)
attendre la synchro écran
recopier le back buffer dans la mémoire vidéo

> depplus il parait que je peut faire intervenir des bout d'image et non seulement pixel par pixel comme pour des lettres ou des vaisseaux peut on m'expliquer le moyen de réalisé ce projet de meme serait il possible que ces bout d'image soit mis en bitmap

j'ai une technique que je trouve simple mais il y a peut etre mieux :

Initialisation :
Ouvrir image contenant tout les sprites et lmettre ds un buffer
'decouper' le buffer pour placer chaque sprite dans un petit buffer

Ensuite il faut placer les sprite dans le bac buffer dans la boucle d'affichage
technique:
si tu veux mettre ton sprite en X,Y et que le back buffer est à DS:SI
SI = SI + (Y*320)
SI = SI + X
la tu pointe sur le premier pixel à écrire
donc tu écris une ligne , le nb de pixel dépend de la largeur du sprite
SI = SI +(320-Largeur_sprite) ; pour pointer à la ligne suivante
tu répéte ceci en fonction du nombre de lignes

tu peux ensuite gere la transparence
(ex : ne pas afficher les pixels d'index 255)

ensuite tu peux géré le 'je_sai_plu_comment_sa_s'appele' qui sert à éviter de dépasser les limites de l'écran
sinon c pa joli ou ca plante

>
> Si quelqu'un pouvait me faire parvenir aussi un exemple des couleurs utilisé par masm afinb de faire de joli dessin

desole je sui pa chez moi j'ai pas de sources au boulot ;-)
%-6 TangiX %-6