Vitesse de déplacement d'une image pas constante

cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 - 8 avril 2006 à 14:44
 Utilisateur anonyme - 8 avril 2006 à 21:45
bonjour à tous
j'essaye de faire défiler des photo sur mon écran d'ordinateur.
j'ai donc essayé le code qui suit,

Code:,
----

Case 5 'coin supérieur gauche
DepX = -LpicsP'largeur de l'image
DepY = -HpicsP'hauteur
deltax = ((DepX - gauche)) / Vit'vitesse déplacement ici à 800
deltay = ((DepY - supérieur)) / Vit
With Picture1'conteneur qui à reçu la photo
.Move DepX, DepY
.Visible = True
End With
Form1.BackColor = &H8000000F
Form1.Refresh
mvX = DepX
mvY = DepY
'début du déplacement
Do Until mvX >= gauche Or mvY >= supérieur
mvX = Picture1.Left - deltax
mvY = Picture1.Top - deltay
Picture1.Move mvX, mvY
cpte = cpte + 1 'compteur pour accélérer la vitesse sur la finIf cpte Vit Then cpte Vit - 1
'ici réintroduction possible du calcul du delta car la valeur ne tombe _
toujours sur une valeur(je pense) de déplacement possible
'deltax = (Picture1.Left - gauche) / (Vit - cpte) 'calcule le delta en fonction de la distance restante _
'permet d'arrivée plus près du point final
'deltay = (Picture1.Top - supérieur) / (Vit - cpte)
'refresh'avec refresh l'avancée est légèrement sacadée
DoEvents
Loop
Picture1.Move gauche, supérieur'pour bien mettre la photo _
à l'endroit voulu

mais problème le déplacement n'a jamais une vitesse "visuellement" constante! Je ne sais si cela provient de la taille des photos, bien que l'effet ne soit pas toujours identique avec des mêmes photos, ou si cela provient du Doevents incorporé dans la boucle? dont d'ailleur j'ai du mal à bien comprendre le fonctionnement (du Doevents)

est ce que quelqu'un pourrait m'expliquer ce qui se passe

merci d'avance

1 réponse

Utilisateur anonyme
8 avril 2006 à 21:45
tu as un Timer?
0
Rejoignez-nous