2

好的,这让我大吃一惊,所以请帮帮我,我想在我的八哥项目中使用透明四边形,它有一个属性:ARGB 的颜色,所以我将 alpha 设置为 90,但它只是没有似乎不是那样工作的。现在我已经将它的混合模式更改为 MULTIPLY,所以它可以工作,但我不确定这是一个好的解决方案,也许有其他彩色背景,它看起来不像,我想要它有点灰色,所以用户知道,他现在不能进入舞台。那么还有比这更好的解决方案吗?谢谢,这是我的代码

package screens 
{
    import starling.display.Image;
    import starling.display.Quad;
    import starling.display.BlendMode

public class TransparentScr extends AbstractScr{
    private var trpImg:Image;

    public function TransparentScr() {
        super();
    }

    override protected function init():void {
        super.init();
        var quad:Quad = new Quad(Main.STAGE_WIDTH / 2, Main.STAGE_HEIGHT / 2, 0x90cccccc, true);
        quad.blendMode = BlendMode.MULTIPLY;
        addChild(quad);
    }

}

}

4

2 回答 2

2

所以我将 alpha 设置为 90

在 Starling 中,alpha值从0.01.0。假设你想要 90% 的不透明度,你应该使用0.9.

于 2012-10-16T02:57:50.380 回答
1

我认为您只能使用 Quad 使其透明。至于使它成为单色,II 会推荐一个 ColorMatrixFilter:

var mat:Array = [ 
          .33,.33,.33,0,0,
          .33,.33,.33,0,0,
          .33,.33,.33,0,0,
          .33,.33,.33,1,0 ];
var colorMat:ColorMatrixFilter = new ColorMatrixFilter(mat);
this.filters = [colorMat];
于 2012-09-30T10:47:31.467 回答