我需要将 independentt 矩形绘制为精灵。但是,如果我将 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();
有没有办法 compine / flatten / merge 我的精灵的矩形?我想要一个无缝的aplha外观。
答案 0 :(得分:1)
我怀疑图形对象不支持部分数据的这种功能。
如果两个方框都是单独的DisplayObjects
,您可以将.blendMode
的{{1}}设置为DisplayObjectContainer
,从而得到所需的结果。下面是一些示例代码,用于将矩形的绘制重构为BlendMode.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