我想获得提示停止旋转时,它是在MOUSE_DOWN事件,但继续将距离的鼠标x和mouseY添加到距离从cueball提示。换句话说,为了让线索沿线滑动,线索被瞄准了。试图找到一种方式来“滑动”cuestick在ActionScript 3.0的台球游戏
Cue.addEventListener(Event.ENTER_FRAME, aimCue);
Cue.addEventListener(MouseEvent.MOUSE_DOWN,StartToShoot);
addEventListener(Event.ENTER_FRAME,MoveBalls);
public function aimCue(event:Event)
{
var dx:Number = Cueball.x - Cue.x;
var dy:Number = Cueball.y - Cue.y;
var angle:Number = Math.atan2(dy,dx);
Cue.rotation = angle * 180/Math.PI;
Cue.x = mouseX;
Cue.y = mouseY;
}
public function StartToShoot(event:MouseEvent)
{
var dx:Number = Cueball.x - mouseX;
var dy:Number = Cueball.y - mouseY;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
//Cue.x = dx + Cueball.x;
//Cue.y = dy + Cueball.y;
if (dist > 230)
{
Cue.startx = Cue.x;
Cue.starty = Cue.y;
Cue.addEventListener(Event.ENTER_FRAME,FinishShoot);
}
}
public function FinishShoot(event:Event)
{
var dx:Number = Cueball.x - Cue.x;
var dy:Number = Cueball.y - Cue.y;
var dist:Number = Math.sqrt(dx * dx + dy * dy);
if (dist < 230)
{
Cueball.vx = Cue.x - Cue.startx;
Cueball.vy = Cue.y - Cue.starty;
Cue.removeEventListener(Event.ENTER_FRAME,FinishShoot);
}
}
谢谢。现在我需要找出在isShooting为true时移动提示的数学。 –
我用一个如何做距离逻辑的例子更新了答案。希望这可以帮助你朝着正确的方向发展 –
这看起来不错。谢谢! –