您当前的位置:首页>egret频道>egret反向遮罩方法

egret反向遮罩方法

发布时间:2018-11-19 类型: egret频道 编辑: 小猪迷

    反向遮罩方法一般用于新手引导,因为在新手引导中,我们是要可以操作某一部分的功能,其于地方都是遮住的,但是通常我们的做法是拼接,把不要的地方一块块的拼起来,方法是可以的,但是总觉用起来不是那个的爽快吧,所以就有了反向遮罩这个方法,下面提供个使用方法类:

    // 反向遮罩方法
    private maskFunc(target, bgColor: number, alpha: number){
    console.log(target.x, target.y, target.width, target.height);

    let onMask = new egret.Shape();
    onMask.graphics.beginFill(0x000000, 1);
    onMask.graphics.drawRect(target.x, target.y, target.width, target.height);
    onMask.graphics.endFill();
    this.addChild(onMask);

    let container: egret.DisplayObjectContainer = new egret.DisplayObjectContainer();
    // 用来作为遮挡背景
    let blendShape = new egret.Shape();  
    blendShape.graphics.beginFill(bgColor, alpha);
    blendShape.graphics.drawRect(0, 0, this.width, this.height);
    blendShape.graphics.endFill();
    container.addChild(blendShape);
    container.addChild(onMask);
    onMask.blendMode = egret.BlendMode.ERASE;

    let renderTexture:egret.RenderTexture = new egret.RenderTexture();
    renderTexture.drawToTexture(container);
    let blendBitmap = new egret.Bitmap(renderTexture);
    this.addChild(blendBitmap);

    blendBitmap.touchEnabled = true;  // 允许点击
    blendBitmap.pixelHitTest = true;  // 是否开启精确像素碰撞。设置为true显示对象本身的透明区域将能够被穿透。
    }

    使用如下

    // this.testButton为你要操作的按钮,其它类似,如图片,组   0x000000遮罩背景   0.8透明度
    this.maskFunc(this.testButton, 0x000000, 0.8);


关键字词:egret反向遮罩方法

  • (妞妞)北北--给你给我幸福
    [1楼]:(妞妞)北北--给你给我幸福

    这个用于新手引导,比拼接好的多了,赞赞赞

小猪迷

                

微信好友

用微信扫描二维码,
加我好友。

微信公众号

用微信扫描二维码,
订阅小猪迷公众号。

234113618

用微信扫描二维码,
加入小猪迷 QQ 群。

egret反向遮罩方法-小猪迷PHP[xiaozhumi.com]

egret反向遮罩方法

https://www.xiaozhumi.com/egret/18.html