2011-05-27 36 views
3

我想使用ColorTransform類更改色調的alpha,是否可以這樣做?使用ColorTransform(tint + alpha)更改alpha?

private function setColor(target:DisplayObject, color:uint, alpha:uint = 150) { 
      var colorTransform = new ColorTransform(); 
      colorTransform.color = color; 
      colorTransform.alphaOffset = alpha; 
      target.transform.colorTransform = colorTransform; 
     } 

然而,當我嘗試使用比方說使用它,

setColor(this, 0x333333, 100); 

我似乎得到了堅實的深灰色,而不是部分透明的色調?

回答

5

使用alpha alphaMultiplier而不是alphaOffset。當您使用alphaOffset時,它會添加alpha,所以如果alpha已經達到100%,您將看不到任何透明度。

+0

好吧,但我必須通過它作爲一個0xff值嗎?這是如何工作的阿爾法? – redconservatory 2011-05-27 19:46:20

+0

不,這是一個乘數,所以如果你想要50%,你設置alphaMultiplier爲0.5 – 2011-05-27 19:56:42