0

我有两个可拖动的对象,当你拖动它们时,它会根据鼠标的位置生成一条线,并且该线锚定到另一个对象。我喜欢这段代码要做的是在符号的后面生成一行

我懂了

在此处输入图像描述

但我需要这个

在此处输入图像描述

       if ((mouseX-targetPointX<0 && mouseY-targetPointY>0) || (mouseX-targetPointX>=0 && mouseY-targetPointY<=0)) {
        line.moveTo(mouseX-offset,mouseY-offset);
        line.curveTo(mouseX-offset,targetPointY-offset,targetPointX-offset,targetPointY-offset);
        line.lineTo(targetPointX+offset,targetPointY+offset);
        line.curveTo(mouseX+offset,targetPointY+offset,mouseX+offset,mouseY+offset);
    } else {
        line.moveTo(mouseX-offset,mouseY+offset);
        line.curveTo(mouseX-offset,targetPointY+offset,targetPointX-offset,targetPointY+offset);
        line.lineTo(targetPointX+offset,targetPointY-offset);
        line.curveTo(mouseX+offset,targetPointY-offset,mouseX+offset,mouseY-offset);
    }
    line.endFill();
};
4

1 回答 1

0

您可以使用自定义对象,而不是使用鼠标位置作为参考来绘制曲线,Point而该对象的坐标是您希望曲线开始的位置。

moveTo(myPoint.x, myPoint.y);

您可以使用 中的相对坐标创建任何Point您想要的,例如在 (50,200) 处Sprite,然后使用 找到全局坐标localToGlobal

var globalPoint:Point = mySprite.localToGlobal(new Point(50,200));
trace(globalPoint.x,globalPoint.y);
于 2013-08-09T00:31:59.227 回答