我需要画画独立的矩形到精灵。但是重叠区域如果我申请就会可见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 外观。
我怀疑图形对象的部分数据不支持这种功能。
如果两个盒子都是单独的DisplayObjects
,您可以设置.blendMode
of the DisplayObjectContainer
to BlendMode.LAYER,
这给出了所需的结果。下面是一些示例代码,它将矩形的绘制重构为Box
class:
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();
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)