速度为什么会不一样呢
复制内容到剪贴板
代码:
var speed:Number = 5;
var range:Number = 5;
var tx:Number = 0;
var ty:Number = 0;
var vx:Number = 0;
var vy:Number = 0;
var boy:Sprite = new Sprite();
addChild(boy);
boy.graphics.lineStyle(1);
boy.graphics.drawCircle(10,-40 ,10);
boy.graphics.moveTo(10,-30);
boy.graphics.lineTo(10,-10);
boy.graphics.lineTo(0,0);
boy.graphics.moveTo(10,-10);
boy.graphics.lineTo(20,0);
boy.graphics.moveTo(10,-25);
boy.graphics.lineTo(2,-20);
boy.graphics.moveTo(10,-25);
boy.graphics.lineTo(18,-20);
boy.x = stage.stageWidth/2;
boy.y = stage.stageHeight/2
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function mouseDownHandler(event:Event):void {
tx = mouseX;
ty = mouseY;
var angel:Number = Math.atan2(mouseY - boy.y, mouseX - boy.x);
vx = Math.cos(angel) * speed;
vy = Math.sin(angel) * speed;
}
function enterFrameHandler(event:Event):void {
var dy = ty - boy.y;
var dx = tx - boy.x;
if (Math.sqrt(dy*dy + dx*dx) >= range) {
boy.x += vx;
boy.y += vy;
}else {
boy.x = tx;
boy.y = ty;
}
}