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);
  }
}

