双击时,播放器会在整个区域闪烁

时间:2018-10-27 18:37:08

标签: actionscript-3

双击播放器时,他会在地图周围晃动。我该如何预防?

这是我用来控制播放器的代码:

stage.addEventListener(MouseEvent.CLICK, myClickReaction);  
// speeds ALONG NYPOTENUSE  
var v:Number = 7;  
// vector of movement  
var dir:int = 100;  
// mouse click point  
var clickPoint:Point = new Point();  
// angle doesn't change metween clicks - so it can be global  
var angle:Number;  

function myClickReaction (e:MouseEvent):void {   
     clickPoint = new Point(mouseX, mouseY);  
     angle = Math.atan2(clickPoint.y - penguin.y, clickPoint.x - penguin.x);  
     dir = angle >= 0 ? -1 : 1;  
     addEventListener(Event.ENTER_FRAME, onEnterFrame);  
}  

function onEnterFrame(e:Event):void {  
     var projectedX:Number = penguin.x + v * Math.cos(angle);  
     var projectedY:Number = penguin.y + v * Math.sin(angle);  
     var diff:Number = clickPoint.y - projectedY;  
     if (diff / Math.abs(diff) == dir) {  
          penguin.x = clickPoint.x;  
          penguin.y = clickPoint.y;  
          removeEventListener(Event.ENTER_FRAME, onEnterFrame);  
     }  
     else {  
          penguin.x = projectedX;  
          penguin.y = projectedY;  
     }  
}  

0 个答案:

没有答案