Bonjour,
cela fait quelques jours que j'essaie de faire tourner une roue en fonction de la position de la souris lorsque celle-ci est enfoncée.
J'ai trouvé un code qui marche, mais j'ai un problème de saut. Je m'explique : lorsque je relache la souris puis que je veux à nouveau faire tourner ma roue, celle-ci retourne à sa position initiale avant d'entamer sa rotation. Or je voudrait qu'elle débute sa rotation a partir de sa position actuelle.
Pourtant j'ai créé une variable angleini, qui est calculée dès que l'on appuis sur la roue, pour éviter cet effet de saut.
Voici mon code :
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 # var angleini:Number; # # Roue.addEventListener(MouseEvent.MOUSE_DOWN, debutTourner); # # # function debutTourner(e:MouseEvent):void # { # angleini = Math.atan2(mouseY - Roue.y, mouseX - Roue.x) * 180 / Math.PI; # Roue.removeEventListener(MouseEvent.MOUSE_DOWN, debutTourner); # stage.addEventListener(MouseEvent.MOUSE_UP, finTourner); # Roue.addEventListener(MouseEvent.MOUSE_MOVE, tourner); # } # # # function finTourner(e:MouseEvent):void # { # Roue.addEventListener(MouseEvent.MOUSE_DOWN, debutTourner); # stage.removeEventListener(MouseEvent.MOUSE_UP, finTourner); # Roue.removeEventListener(MouseEvent.MOUSE_MOVE, tourner); # } # # function tourner(e:Event):void # { # # var angle:Number = Math.atan2(mouseY - Roue.y, mouseX - Roue.x) * 180 / Math.PI; # Roue.rotation = angle-angleini; # }
Merci beaucoup
Partager