我有两个可拖动的对象,当你拖动它们时,它会根据鼠标的位置生成一条线,并将该线锚定到另一个对象。我喜欢这个代码,是在符号后面生成一行
我得到了这个
但我需要这个
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();
};
答案 0 :(得分:0)
您可以使用自定义Point
对象,而不是使用鼠标位置作为参考来绘制曲线,而是使用您希望曲线从哪里开始的坐标。
moveTo(myPoint.x, myPoint.y);
您可以使用Point
中的相对坐标创建所需的任何Sprite
,例如在(50,200),然后使用localToGlobal
找到全局坐标。
var globalPoint:Point = mySprite.localToGlobal(new Point(50,200));
trace(globalPoint.x,globalPoint.y);