2011-07-11 76 views
0

在我的ActionScript程序,我使用的方法繪製多邊形位,然後再重新繪製它。最後,對update()函數的每次調用都會繪製更新的多邊形,並且我可以看到它發生了變化。創建一個影片剪輯出另一個對象

在程序的某個時刻,我希望能夠利用這個多邊形作爲movieclip,所以我 可以附加一個面具它 - 這樣的多邊形繪製了一遍又一遍,我可以看到一個漂亮的 以該多邊形形式的背景填充它。

問題是 - 我不知道如何利用這陣點我有,這是我的多邊形表示,並把它變成一個影片剪輯(如果可能的話...)

如果您有任何其他建議如何實現以上,這將是偉大的。

回答

0

您可以創建一個新的MovieClip並使用它的圖形進行繪製。因此,而不是使用this.graphics.moveTo /了lineTo的,試試這個:

var mc:MovieClip = new MovieClip(); 

mc.graphics.moveTo(...); 
mc.graphics.lineTo(...); 

this.addChild(mc); 

繪畫的一種便捷方式,如果你想少打字,就是做這樣的事情:

var mc:MovieClip = new MovieClip(); 

with(mc.graphics) { 
    clear(); 
    lineStyle(...); 
    moveTo(...); 
    lineTo(...); 
    ... 
    ect. 
} 

this.addChild(mc); 
0

我建議你看看Point類。例如,

var p1:Point = new Point(100,150); 

然後你就可以有一個點的數組

var arrPoints:Array = new Array(p1,p2,p3); 

有了一個for循環,你可以,如果我== 0您使用的moveTo和休息使用了lineTo決定。你可以在最後有一個特殊的條件來關閉你的多邊形,i == arrPoints.length-1。

因此,基本上創建一個movieclip對象,使用它的圖形屬性來填充你在數組中定義的點。只要你的觀點在動畫片段中,你就可以掩蓋它。最後,你使用的這個「這個」符號可能指的是舞臺上的主要動畫片段。

var mc:MovieClip = new MovieClip(); 
mc.graphics.moveTo(p1.x,p1.y); 

會將你的圖形繪製到你的MC上。

相關問題