yvesdudu
Messages postés48Date d'inscriptionjeudi 16 août 2007StatutMembreDernière intervention 3 juin 2018
-
16 août 2007 à 08:52
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
16 août 2007 à 10:30
Bonjour,
Je suis un grand père à la retraite et pour passer mon temps , je programme des petits jeux en VB6 pour mon petit fils.
J'ai un problème de scintillement d'image du à la non synchronisation écran, objet je m'explique:
Mon programme est constitué de plusieurs controles images commandés par des timers, à chaque top de timer , l'image se déplace sur l'écran mais en produisant un effet idésirable de scintimmement.
Qui peut m'expliquer comment régler ce problème
Avec tous mes remerciements
Kristof_Koder
Messages postés918Date d'inscriptionvendredi 3 août 2007StatutMembreDernière intervention27 octobre 200810 16 août 2007 à 09:06
Le problème, c'est que les controles images ne sont pas vraiment fait pour opérer des "animations", du moins pas à une cadences trop rythmée ! Deux options :
1- Ralentir le timer en augmentant sa propriété Interval, mais ca va ralentir le jeu péniblement !!!!!!!!!!
2- Passer à des techniques de programmation faite pour gérer ce genre de chose, genre DirectX, DirectDraw pour être exact dans le cas précis. Mais la, ca sort complètement de mon champs de connaissance. Il y a cependant plusieurs "pro" du sujet ici même i lme semble et un certain nombre de sources/tuto sur le sujet.
Y'a plus qu'à bûcher sur le sujet !
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 16 août 2007 à 09:10
n'utilises pas des objets images, ils n'entrent pas dans le cadre d'une composition dynamique efficace...
quand tu les déplace, Windows redessine ce qu'il y avait dessous, puis redessine l'image, du coup, ca scintille.
il faudrais travailler le tout en mémoire, et afficher l'image résultante, pas de faire subir (et d'afficher) l'animation en temps reel... jouer, avec une sorte de double buffering