2011-04-04 51 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