Egret社区

关于mask遮罩的问题

2016-8-3 15:16
31682
1银子
本帖最后由 xb274271924 于 2016-8-3 15:19 编辑

代码如下:
private Masktest(): void
    {
        var icon0 = new egret.Bitmap(RES.getRes("head_png"));
        var icon1 = new egret.Bitmap(RES.getRes("timg_png"));
        icon1.x = 400;
        this.addChild(icon0);
        this.addChild(icon1);

        var mask0: egret.Shape = new egret.Shape();
        mask0.graphics.beginFill(0xffffff, 1);
        mask0.graphics.drawCircle(100, 100, 100);
        mask0.graphics.endFill();
        this.addChild(mask0);
        icon0.mask = mask0;

        var mask1: egret.Shape = new egret.Shape();
        mask1.graphics.beginFill(0xffffff, 1);
        mask1.graphics.drawCircle(50, 50, 50);
        mask1.graphics.endFill();
        mask1.x = icon1.x;
        this.addChild(mask1);
        icon1.mask = mask1;
    }

效果如图,不设置遮罩,图片正常显示(两个圆白是要用的遮罩,此时还没设置.mask)
设置两个以后。。。两个图显示都不正常,第一个变黑了,第二个虽然是圆的,但是大小不对
引擎版本3.0.8,PC测试
尝试过把shape放在sprite里,然后用sprite做遮罩,也是一样的效果



不设置遮罩是这样的效果

不设置遮罩是这样的效果

设置一个遮罩

设置一个遮罩

设置两个遮罩

设置两个遮罩
分享到 :
0 人收藏

2 个回复

倒序浏览
xb274271924  圆转纯熟 | 2016-8-3 17:06:20
ifyx 发表于 2016-8-3 16:43
你可以尝试把这三个遮罩,分三个sprite放进去,而不要使用一个显示对象。

我把一个图和一个遮罩放在一个sprite里,然后再把两个sprite添加显示,也是一样的情况
xb274271924  圆转纯熟 | 2016-8-3 17:26:37
ifyx 发表于 2016-8-3 17:18
升级到最新引擎3.1.5试试

3.0.8的话,webgl模式下有这种问题,canvas就没有
3.1.5两种模式都是好的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部