2012-10-10 152 views
0

所以我需要動態地在畫布上繪製ActionScript中的一些自定義形狀(如一些由線條和圓圈組成的旋轉輪)。我正在使用Flash Builder。Actionscript中的繪製形狀

問題1: 什麼會工作得更好(快):

  • 在畫布上繪製圖形,對每一幀乾淨的一切,重繪?
  • 創建多個Shape對象並相應地轉換它們?

問題2: 我怎麼能相對旋轉的一些形狀到它的中心,而不是相對其父(試圖與矩陣打不過他們比較工作,以父容器)?也許有一些推彈出矩陣功能?

回答

2

問題1:幾乎可以肯定直接使用形狀會更快。當不是所有的東西都需要重新繪製時,Flash Player會更好地更新屏幕。但是,當性能是一個問題時,最好編寫一個簡短的測試。

問題2:ShapesDisplayObjects,所以你可以只使用rotation財產,他們將圍繞它們的起源(在(0,0)點)。只要確保你畫相對於原點的形狀,並使用其xy特性將其移動到合適的位置(例如,在(70,70爲中心的20×20的矩形)):

var rect : Shape = new Shape(); 
rect.graphics.beginFill(0xffffff); 
rect.graphics.drawRect(-10,-10,20,20); // center it properly about (0,0) 
rect.graphics.endFill(); 
rect.x = 70.0; rect.y = 70.0; rect.rotation = 45.0; // move and rotate 
+0

這個答案涵蓋了我所有的問題以及我需要知道的一切。非常感謝。 – user1561713