淡入对象不起作用 - 帮助

时间:2011-08-31 00:32:37

标签: actionscript-3

我想淡入淡出并使用colorTransform方法进行对象。

当我将colorTransform应用到我的对象时,它确实会淡出但不会淡入。 首先,我将bitmapData的alpha设置为0(对于淡入效果)。应用colorTransform后它什么都不做。没有消失。 否则,当我将bitmapData的alpha设置为100并让它淡出时,它就可以工作。

我不知道错误可能在哪里,所以是否有人可以帮我解决这个问题?或者你知道另一种实现同一目标的方法吗?非常感谢你的帮助。

BTW:我的对象(tempScore)不是显示对象。它被布置在画布上。

这是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;
}

这是我想要更改alpha的代码,但淡入不起作用:

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);

1 个答案:

答案 0 :(得分:2)

应用于BitmapData的过滤器是“破坏性的”,如果你让它的alpha值下降到零,你将会丢失所有图像信息,因此没有什么可以淡入。

将过滤器应用于显示Bitmap的{​​{1}}容器。