Переместить часовую стрелку с минутной стрелкой as3 - PullRequest
0 голосов
/ 23 марта 2020

Я делаю интерактивные аналоговые часы, используя 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);
    }

Как рассчитать движение часовой стрелки при перемещении мыши?

...