2011-04-04 45 views
1

我想检查是否有一种简单的方法来为线条建立箭头......目前我正在尝试在线的末端画一个三角形 - 可行,但加载几何图形处理线路可能处于任何角度 - 任何可用的内置功能?Flex-建筑箭头线

+0

没有什么内置的,将做到这一点,但我之前围绕这一事实得到和复杂的几何形状,只需创建箭头,因为它自己的精灵然后设置旋转角度(绘制尖端到0点,所以围绕尖端旋转发生),然后使用zRotation(使用arctan函数和x和y增量得到角度)。如果你想了解更多关于这种方法的细节,请告诉我,我会写出来。 – shaunhusain 2011-04-04 19:12:58

+0

好的 - 我实际上设法得到三角形是正确的,在经过了45分钟的角度惯例的试验和错误之后......基本上假定角度等于60度,线端有一个尖端并计算了其他2个点。 。效果很好! – RG1967 2011-04-04 19:44:15

+0

如果您将解决问题的代码发布为问题的解决方案并将其标记为已接受的答案,那将会非常有用。这将有助于未来有同样问题的其他人。 :) – 2011-04-04 20:08:46

回答

1
var ahl:Number = 6; 
myShape.graphics.beginFill(color); //had defined color earlier 
myShape.graphics.moveTo(XTo, YTo); 

// Point A is the end of line at (XTo, YTo). 
// Points B and C are the two other points. 
var Bx:Number = XTo - ahl * Math.sin(Math.PI/3 - angle); 
var By:Number = YTo + ahl * Math.cos(Math.PI/3 - angle); 

myShape.graphics.lineTo(Bx, By); 

var Cx:Number=Bx-ahl*Math.cos(Math.PI/2 - angle); 
var Cy:Number=By-ahl*Math.sin(Math.PI/2 - angle); 

myShape.graphics.lineTo(Cx, Cy); 
myShape.graphics.lineTo(XTo, YTo); 
0

如果你使用Flex 4,最灵活和最简单的方法(在我看来)就是使用'Path'组件(spark.primitives.Path)。 FTQuest