VB6 - Jeux Vidéos et Animation

Signaler
Messages postés
48
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
3 juin 2018
-
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
-
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

3 réponses

Messages postés
918
Date d'inscription
vendredi 3 août 2007
Statut
Membre
Dernière intervention
27 octobre 2008
10
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 !
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
Un bon exemple illustrant ce problème avec une excellente solution :
http://www.vbaccelerator.com/home/vb/code/Libraries/Graphics_and_GDI/Flicker_Free_API_Drawing/article.asp