2011-08-31 87 views
0

我想使用colorTransform方法淡入和淡出對象。淡入對象不起作用 - 幫助

當我將colorTransform應用於我的對象時,它確實會淡化這個東西但不會淡入。 首先,我將bitmapData的alpha設置爲0(用於淡入效果)。應用colorTransform後,它什麼都不做。沒有淡入 否則,當我將bitmapData的alpha設置爲100並讓它淡出時,它就可以工作。

我不知道錯誤發生在哪裏,有沒有人可以幫我解決這個問題?或者你知道另一種實現相同目標的方法嗎?非常感謝您的幫助。

BTW:我的對象(tempScore)是沒有顯示對象。這是blitted在畫布上。

這是必須的ColorTransform我對象的函數:

private function setAlpha(setMode:int, bmd:BitmapData):BitmapData 
{ 
var rec:Rectangle = new Rectangle(0, 0, bmd.width, bmd.height); 
var ct:ColorTransform = new ColorTransform(); 

if (setMode == 1) { 
    ct.alphaMultiplier = .95; 
} else if (setMode == 2) { 
    ct.alphaMultiplier = 1.05; 
} else if (setMode == 3) { 
    ct.alphaMultiplier = 0; 
} else if (setMode == 4) { 
    ct.alphaMultiplier = .5; 
} else if (setMode == 5) { 
    ct.alphaMultiplier = 1; 
} 

bmd.colorTransform(rec, ct); 
return bmd; 
} 

這是我想改變阿爾法但在淡出不起作用的代碼:

setAlpha(2, tempScore.bitmapData); 

這是我將bitmapData的alpha設置爲0的代碼:

rec = new Rectangle(0, 0, $textWidth, $textHeight); 
ct = new ColorTransform(); 
ct.alphaMultiplier = 0; 

tempScore.bitmapData.colorTransform(rec, ct); 

回答

2

應用於的過濾器是「破壞性的」,如果你讓其alpha下去爲零你將失去所有的圖像信息,與它一起,所以沒有什麼褪色回來。

應用濾鏡的Bitmap容器顯示BitmapData來代替。 OMG!

+0

OMG!非常感謝你。我不知道。是否有可用的bitmapData的無損濾波器? – drpelz

+0

問題解決。我使用TweenLite並更改了對象。現在這是一個精靈。 TweenLite現在正在運行。 – drpelz