bonjour à tous
j'essaye de faire défiler des photo sur mon écran d'ordinateur.
j'ai donc essayé le code qui suit,
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)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 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 fin If 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
est ce que quelqu'un pourrait m'expliquer ce qui se passe
merci d'avance
[/code]
Partager