Я делаю интерактивные аналоговые часы, используя ActionScript 3.0. Я хочу, чтобы пользователь установил время, вращая минутную стрелку. У меня есть код для этого. Однако я не могу двигать часовую стрелку в соответствии с вращением. Ниже приведен мой код onMouseDown
function onRotateDown(e = null):void{
stage.addEventListener(MouseEvent.MOUSE_MOVE, onRotateMove);
stage.addEventListener(MouseEvent.MOUSE_UP, onRotateUp);
}
function onRotateMove(e = null):void{
var angle:Number = Math.atan2(gameMc.clock.mouseY - gameMc.clock.minHand.y, gameMc.clock.mouseX - gameMc.clock.minHand.x); //get angle in radians (pythagoras)
angle = angle * 180 / Math.PI + 90; //convert to degrees , the 90 is to have it point to the mouse
if(angle < 0){
angle = 360 + angle;
}
angle = Math.floor(angle);
if(angle % 5 == 0){
gameMc.clock.minHand.rotation = angle; //rotate
}
}
function onRotateUp(e = null):void{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, onRotateMove);
stage.removeEventListener(MouseEvent.MOUSE_UP, onRotateUp);
}
Как рассчитать движение часовой стрелки при перемещении мыши?