2012-03-08 143 views
0

我在as3中使用閃存中的bit101組件,並且我有一個白色背景色的窗口。我想讓這種顏色變得半透明。如果我爲窗口設置了alpha,那麼窗口內的所有內容也都是半透明的。我只是想要背景。我該如何做到這一點?這是我的代碼:flash as3 - bit101組件窗口背景色

window = new Window(square, 10, 10, 'ADVANCED\t\t\t\t\t\t\t Use spacebar to randomize values'); 
      window.width = 380; 
      window.height = 140; 
      window.hasMinimizeButton = true; 
      window.shadow = false; 
      window.minimized = true; 
      window.addEventListener(Event.RESIZE, onWindowResizeHandler, false, 0, true); 
      window.color = 0xFFFFFF; 

回答

1

從快速查看源代碼,看來該Window包含Panel,和Panel含有受保護的_background對象。

https://github.com/minimalcomps/minimalcomps/blob/master/src/com/bit101/components/Panel.as

override public function draw():void 
{ 
    super.draw(); 
    _background.graphics.clear(); 
    _background.graphics.lineStyle(1, 0, 0.1); 
    if(_color == -1) 
    { 
     _background.graphics.beginFill(Style.PANEL); 
    } 
    else 
    { 
     _background.graphics.beginFill(_color); 
    } 
    _background.graphics.drawRect(0, 0, _width, _height); 
    _background.graphics.endFill(); 
    ... 

我會盡量延長這兩個WindowPanel類和以某種方式加入到指定backgroundAlpha屬性,這將是第二個參數上面beginFill()的能力。它看起來很多工作。

似乎沒有更直接的方法來做到這一點。