如果我有一個精靈,我已經繪製了一些東西,我該如何抹掉我繪製的部分?最好我可以使用drawRect()
與一些「alpha = 0」油漆。擦除精靈圖形?
但是,我不相信beginFill()
方法可以讓您設置RGBA顏色(就像您可以在bitmapData
中那樣)。在beginFill()
的圖形方法中設置alpha = 0
並沒有真正做任何事 - 它只是沒有畫任何東西。
在我的特殊用例中,掩蔽不是一個選項。
此外,調用clear()
是不是一個很好的解決方案,因爲它清除了一切。
如果我有一個精靈,我已經繪製了一些東西,我該如何抹掉我繪製的部分?最好我可以使用drawRect()
與一些「alpha = 0」油漆。擦除精靈圖形?
但是,我不相信beginFill()
方法可以讓您設置RGBA顏色(就像您可以在bitmapData
中那樣)。在beginFill()
的圖形方法中設置alpha = 0
並沒有真正做任何事 - 它只是沒有畫任何東西。
在我的特殊用例中,掩蔽不是一個選項。
此外,調用clear()
是不是一個很好的解決方案,因爲它清除了一切。
不幸的是,你不能做你希望與Graphics類到底該怎麼做。儘管擦除可能意味着你繪製了已經用背景顏色繪製的東西,但我猜你希望將「繪製透明度」繪製回Graphics對象。使用0的alpha繪製不會繪製「無」 - 您只是看不到您繪製的內容,因爲它完全透明。
這就是你用,而不是位圖矢量工作。要「刪除」矢量的一部分意味着您要創建一個全新的矢量,這需要進行一些計算,而不是將某個像素設置爲某個顏色值。圖形不提供這樣的高級功能,儘管你可以編寫自己的函數來完成它。 :P
一種解決方法是使用位圖來代替:
http://www.actionscript.org/forums/showthread.php3?t=187857
http://www.actionscripts.org/forums/showthread.php3?t=149021
另一種是考慮是否可以實現你想用不同的方式做什麼;一個可以使用clear()的。
如果你打算要保留您的繪圖的一部分,同時消除其他一些地區則是唯一可行的途徑是使用幾個精靈繪製。 爲繪圖的每個部分創建一個精靈,然後你可以選擇你想要刪除的精靈並離開其餘部分。
除此之外,你只剩下被使用的BitmapData然後用清晰的再次提請抄截後進行復制的部分。 (這將是很難在複雜的莊園來實現,嘗試複製只是複雜的彎曲的區域!)
可以很好地做到這一點,如果你並不需要能夠與您的雪碧下面的所有元素進行交互。
爲此
cacheAsBitmap
屬性true
cacheAsBitmap
屬性true
blendMode
屬性BlendMode.ERASE
這可以幫助我很多,thak you .. :)),, – 2012-08-30 23:22:37