Meilleur technique de déplacement d'un bitmap ?

Signaler
Messages postés
7
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
27 juin 2006
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
Bonjour,

J'ai une question, ça n'est pas vraiment un problème, mais j'aimerais connaître le truc :

Bon premièrement, mon jeu est quasi fini. Mais j'aimerais que mes bitmaps ne clignotent plus lors du déplacement. Je m'explique.

Comment faire pour qu'il n'y ait aucun clignotement si je déplace un bitmap ; quelle est la meilleure technique pour le déplacer sans clignotement ? Actuellement, comme je travaille sur fond noir, je redessine le bitmap avec un "Vide" derrière qui masque le précédent passage, mais ça clignote beaucoup, en plus, mes bitmaps doivent passer parfois par dessus d'autres, et la, clignotement max. Et InvalidateRect fait clignoter beaucoup (ou alors je ne sais pas m'en servir...) Quelle est la meilleure technique ?

Merci pour vos réponses (rapides en plus, vous êtes super !).

Cordialement,

Kiwax.

6 réponses

Messages postés
37
Date d'inscription
samedi 20 novembre 2004
Statut
Membre
Dernière intervention
20 décembre 2006

InvalidateRect(hwnd,0,false);
au lieu de true, pour eviter de redessiner toute la fenetre
je sais pas si ca peut t'aider mais on sait jamais
Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008

utilise la technique du backbuffer.


Tu te crées un deuxieme écran en mémoire (un DC) qui a la taille de ton
ecran physique et tu blit tous tes sprites (perso, objets, décors, ...)
dessus.

Et seulement à la fin tu blit cet écran mémoire vers ton ecran physique.


Ton écran (celui que tu vois) seras modifié moins souvent par rapport au raffraichissement de l'écran.


ça devrait aller mieux avec ça ;-)


++

24K
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Dans mes sources il y a un exemples de déplacement de bitmap avec masque et backbuffer
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
[auteurdetail.aspx?ID=384844 trafounet]
> le troisième argument de InvalidateRect permet de préciser si on redessine l'arrière-plan, le second décrit la zone a redessiner

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
7
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
27 juin 2006

Bonjour,

ymca2003 : Je n'ai pas vraiment compris ton message, pourrais-tu le détailler un peu plus avec du code pour m'expliquer ? Merci.

Merci pour vos réponses .

Cordialement,

Kiwax.
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
En fait en cliquant sur mon peudo, tu avais accès à mes sources sur ce site dont celle -là:
http://www.cppfrance.com/codes/RECOPIE-ZONE-BITMAP-AVEC-REDIMENSIONNEMENT-POSSIBLE-STRETCHBLT-WIN32_23540.aspx