簡體   English   中英

As3:將重疊的矩形繪制到精靈上並應用Alpha

[英]As3: Draw overlapping rectangles to a sprite and apply alpha

我需要繪制一個獨立的矩形到一個精靈。 但是,如果我將Alpha應用於精靈, 重疊區域將變得可見(精靈將淡入和淡出):

        var spBox:Sprite = new Sprite();
        this.addChild(spBox);

        spBox.graphics.beginFill(0x123456)
        spBox.graphics.drawRect(100, 100, 50, 50);
        spBox.graphics.endFill();

        spBox.graphics.beginFill(0x123456)
        spBox.graphics.drawRect(125, 125, 50, 50);
        spBox.graphics.endFill();

帶有Alpha的精靈矩形

有沒有辦法組合/展平/合並我的精靈的矩形? 我想要無縫的aplha出現。

我懷疑圖形對象的部分數據不支持這種功能。

如果這兩個框是個人DisplayObjects ,你可以設置.blendMode的的DisplayObjectContainerBlendMode.LAYER,這給期望的結果。 以下是一些示例代碼,這些示例代碼將矩形的圖形重構為Box類:

var spBox:Sprite = new Sprite();
this.addChild(spBox);


var a:Box = new Box(50, 50, 0x123456);
a.x = a.y = 100;
spBox.addChild(a);  

var b:Box = new Box(50, 50, 0x123456);
b.x = b.y = 125;
spBox.addChild(b);    

spBox.alpha = .5;
spBox.blendMode = BlendMode.LAYER;

Box類的相關部分如下所示:

public class Box extends Shape
{
    public function Box(width:Number = 100, height:Number = 100, color:uint = 0)
    {
        graphics.beginFill(color)
        graphics.drawRect(0, 0,  width, height);
        graphics.endFill();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM