2012-07-04 75 views
0

我畫了一些圖(圓形,矩形或只是一個線),之後我想改變它們的顏色而不繪製覆蓋這些圖形的另一個圖形,這可能嗎?如何更改剛繪製的形狀的顏色(ActionScript)

graphics.beginFill(0x000000, 1); 
graphics.drawCircle(70, 67, 2); 
graphics.drawCircle(90, 67, 2); 
graphics.endFill(); 

此代碼是否可以改變那些圓圈的顏色?讓我們稍後再說...

回答

2

它是,它不是。一旦你繪製了這個形狀,它就會被烘焙到該幀的繪製緩衝區中。如果你已經將它繪製到主框架緩衝區,就是這樣,沒有變化。您可以將其繪製到SpriteMovieClip的單獨實例中,並使用ColorTransform

var mc:MovieClip=new MovieClip(); 

mc.graphics.beginFill(0x000000, 1); 
mc.graphics.drawCircle(70, 67, 2); 
mc.graphics.drawCircle(90, 67, 2); 
mc.graphics.endFill(); 

後來:

var c:ColorTransform = new ColorTransform(); 
c.color = (Math.random() * 0xFFFFFF); 
mc.transform.colorTransform = c; 

把你的形狀在一個MovieClip還具有不必手動重繪每一幀(清除正常幀緩衝器不會清除MovieClip的優點這也意味着你可以輕鬆地將它移動到mc.xmc.y

出於好奇,爲什麼不能在繪製時設置顏色?

+0

我真的不知道有關movieClip的變換對象和colorTransform方法,我會嘗試它們,謝謝你的回答,在我重繪這些像素之前,這是我知道這一刻的唯一方法 –

+0

Tell我是怎麼回事! –