Egret社区
具体效果如图:

求求求
分享到 :
0 人收藏

9 个回复

倒序浏览
app小王子  社区管理员 | 2019-10-14 14:05:09
app小王子  社区管理员 | 2019-10-14 14:05:15
asdqe  登堂入室 | 2019-10-14 14:10:19
app小王子 发表于 2019-10-14 14:05
遮罩了解一下
http://developer.egret.com/cn/github/egret-docs/Engine2D/mask/mask/index.html

但是要是加一个圆遮罩的话 就只会显示圆形了
asdqe  登堂入室 | 2019-10-14 14:14:27
图片传不上来  就是一个黑色遮罩图 中间掏出一个透明的圆形
风一样的骚浪贱  登堂入室 | 2019-10-14 17:26:06

                        let container: egret.DisplayObjectContainer = new egret.DisplayObjectContainer();
                        // 遮罩
                        let maskShape = new egret.Shape();
                        maskShape.graphics.beginFill(0x000000, 1);
                        maskShape.graphics.drawRect(posx, posy, posw, posh);
                        maskShape.graphics.endFill();
                        // 背景
                        let layerShape = new egret.Shape();
                        layerShape.graphics.beginFill(0x000000, 0.7);
                        layerShape.graphics.drawRect(0, 0, this.width, this.height);
                        layerShape.graphics.endFill();
                        container.addChild(layerShape);
                        container.addChild(maskShape);
                        maskShape.blendMode = egret.BlendMode.ERASE;





        /**
         * Erases the background based on the alpha value of the display object.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 根据显示对象的 Alpha 值擦除背景。Alpha 值不为0的区域将被擦除。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static ERASE: string;
风一样的骚浪贱  登堂入室 | 2019-10-14 17:27:23
asdqe 发表于 2019-10-14 14:14
图片传不上来  就是一个黑色遮罩图 中间掏出一个透明的圆形


        /**
         * Erases the background based on the alpha value of the display object.
         * @version Egret 2.4
         * @platform Web,Native
         * @language en_US
         */
        /**
         * 根据显示对象的 Alpha 值擦除背景。Alpha 值不为0的区域将被擦除。
         * @version Egret 2.4
         * @platform Web,Native
         * @language zh_CN
         */
        static ERASE: string;



                        // 遮罩
                        let maskShape = new egret.Shape();
                        maskShape.graphics.beginFill(0x000000, 1);
                        maskShape.graphics.drawRect(posx, posy, posw, posh);
                        maskShape.graphics.endFill();
                        maskShape.blendMode = egret.BlendMode.ERASE;
asdqe  登堂入室 | 2019-10-15 21:24:38
风一样的骚浪贱 发表于 2019-10-14 17:27
/**
         * Erases the background based on the alpha value of the display object.
     ...

哇 才看到 多谢多谢!  但是我用ERASE它会会把下面那一层游戏界面也擦掉 但是是希望能透过透明的圆看到下面的游戏界面
nodep  渐入佳境 | 2019-10-16 16:50:33
asdqe  登堂入室 | 2019-10-21 18:55:49
nodep 发表于 2019-10-16 16:50
https://bbs.egret.com/thread-27754-1-1.html

哇 多谢大佬!我去研究研究
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部