flash as3 - bit101组件窗口背景颜色

时间:2012-03-08 17:52:57

标签: actionscript-3 flash components

我在as3中使用bit101组件进行闪存,我有一个白色背景颜色的窗口。我想让那种颜色半透明。如果我为窗口设置alpha,窗口内的所有内容也是半透明的。我只想要背景。我该如何做到这一点?这是我的代码:

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 个答案:

答案 0 :(得分: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()的第二个参数以上。看起来很多工作。

似乎没有更简单的方法来做到这一点。