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