Meilleur technique de déplacement d'un bitmap ?

kiwax Messages postés 7 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 27 juin 2006 - 27 juin 2006 à 10:33
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 - 27 juin 2006 à 19:34
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

trafounet Messages postés 37 Date d'inscription samedi 20 novembre 2004 Statut Membre Dernière intervention 20 décembre 2006
27 juin 2006 à 11:49
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
0
24Karas Messages postés 233 Date d'inscription jeudi 4 juillet 2002 Statut Membre Dernière intervention 5 juillet 2008
27 juin 2006 à 13:07
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
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
27 juin 2006 à 14:55
Dans mes sources il y a un exemples de déplacement de bitmap avec masque et backbuffer
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
27 juin 2006 à 15:36
[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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kiwax Messages postés 7 Date d'inscription lundi 26 juin 2006 Statut Membre Dernière intervention 27 juin 2006
27 juin 2006 à 15:46
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.
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
27 juin 2006 à 19:34
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
0
Rejoignez-nous