2009-06-29 57 views
0

我有一個位圖加載在Flash中,用於2D遊戲。位圖表示一個字符,並在用戶使用A(左)或D(右)鍵時旋轉。我遇到的問題是圖像邊界在旋轉時變得很難看,你可以看到「像素」(你總是可以看到像素,但我希望你明白我的意思)。旋轉閃光導致圖像邊界看起來像素,如何修復?

我該如何解決這個動作3,也許改變旋轉算法或「修復」旋轉後的圖像?或者我應該保存/呈現不同的圖像在例如。 Photoshop之前使用它的Flash?

更新:請注意,遊戲的背景不斷變化。

在此先感謝。

回答

2

您可以通過將那裏的像素與要覆蓋的像素相加來沿邊緣嘗試簡單的抗鋸齒。您可以查看Wu antialiasing,您可以使用an example作爲起點。

+0

這真的是核選擇。真的不需要像閃光那樣做這些,這基本上是用來縮放和旋轉的東西。 – grapefrukt 2009-06-29 19:58:00

3

如果圖像是外部負載(Loader類),那麼你可以這樣寫:

Bitmap(myLoader.content).smoothing=true; 

如果它的內部(其在庫中),你需要右鍵單擊庫中的位圖>性質,使「平滑」。另外,如果你是實例它作爲一個BitmapData,那麼你需要做的是:

var bmp:BitmapData=new LibraryBitmap(0,0); 
var bitmap:Bitmap=new Bitmap(bmp,"auto",true); //the third argument is smoothing 

乾杯......

1

快速注意:位圖的旋轉速度很慢,所以在加載GAM e,採用經常旋轉或常見的角色可能是個不錯的主意,將角色旋轉到遊戲中可能的每個1度,使用BitmapData.draw,並將其推送到陣列(或FP10中的Vector) ,如果可能的話),然後使用這些位圖。

YAY,跑動句!

快樂編碼! :-)