跳到主要内容

egret.BlendMode

   egret

   public class BlendMode

提供混合模式可视效果的常量值的类,通常用于 DisplayObject 的 blendMode 属性上。

公共属性

属性
ADD : string
[静态]将显示对象的原色值添加到它的背景颜色中,上限值为 0xFF
ERASE : string
[静态]根据显示对象的 Alpha 值擦除背景
NORMAL : string
[静态]该显示对象出现在背景前面

属性详细信息

ADD

ADD : string = "add"

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

将显示对象的原色值添加到它的背景颜色中,上限值为 0xFF。此设置通常用于使两个对象间的加亮溶解产生动画效果。

例如,如果显示对象的某个像素的 RGB 值为 0xAAA633,背景像素的 RGB 值为 0xDD2200,则显示像素的结果 RGB 值为 0xFFC833(因为 0xAA + 0xDD > 0xFF,0xA6 + 0x22 = 0xC8,且 0x33 + 0x00 = 0x33)。

ERASE

ERASE : string = "erase"

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

根据显示对象的 Alpha 值擦除背景。Alpha 值不为0的区域将被擦除。

NORMAL

NORMAL : string = "normal"

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

该显示对象出现在背景前面。显示对象的像素值会覆盖背景的像素值。在显示对象为透明的区域,背景是可见的。

示例

/*
* 以下示例演示了设置显示对象的混合模式。
* 还可以配合 RES 模块更便捷的加载。
*/
class BlendModeExample extends egret.DisplayObjectContainer {
public constructor() {
super();
this.startLoad();
}
private startLoad():void {
//创建 ImageLoader 对象
var loader:egret.ImageLoader = new egret.ImageLoader();
//添加加载完成侦听
loader.addEventListener(egret.Event.COMPLETE, this.onLoadComplete, this);
var url:string = "resource/assets/button.png";
//开始加载
loader.load(url);
}
private onLoadComplete(event:egret.Event):void {
var loader:egret.ImageLoader = <egret.ImageLoader>event.target;
//获取加载到的纹理对象
var bitmapData:egret.BitmapData = loader.data;
//创建纹理对象
var texture = new egret.Texture();
texture.bitmapData = bitmapData;
//创建 Bitmap 进行显示
var bitmap:egret.Bitmap = new egret.Bitmap(texture);
this.addChild(bitmap);
var bitmap:egret.Bitmap = new egret.Bitmap(texture);
//设置混合模式为叠加效果
bitmap.blendMode = egret.BlendMode.ADD;
bitmap.x = bitmap.y = 25;
this.addChild(bitmap);
}
}