Egret社区

[Egret Engine] 遮罩mask不生效

2018-6-14 18:42
13933
产品 Egret Engine 版本 5.2.1
复现概率 100% 平台 Android 1.0
复现步骤 容易复现
问题描述 mask不生效
错误代码 没有代码
BUG截图
本帖最后由 liyahu1234 于 2018-6-14 18:53 编辑

webgl下某些浏览器会出现,canvas下必现.

因为下面这个提示↓↓↓↓↓↓↓
抱歉,您填写的内容包含不良信息而无法提交我tm为了找出屏蔽字也是拼了..
终于找到niceTo这个屏蔽字,白鹭为开发者提bug设置的九九八十一难,
闯过了才能提个bug.
至于niceTo是啥意思,你们猜

[mw_shl_code=applescript,true]class CircleMask {

        private _target:egret.DisplayObject=null;
        private _mask:egret.Shape=null;
        private _radius:number;

        public constructor() {
        }
        
        /**
         * @param  {egret.Texture} obit 原始图片
         * @returns void
         */
        public Init(target:egret.DisplayObject):void
        {
                if(target==null)
                {
                        return;
                }

                this._target=target;
                this._mask=new egret.Shape();

                this.checkParent();
        }

        private checkParent():void
        {
                if(this._target.parent==null)
                {
                        return;
                }

                if(this._mask.parent!=this._target.parent)
                {
                        this._target.parent.addChild(this._mask);
                }

                this._mask.width=this._target.width;
                this._mask.height=this._target.height;

                this._mask.x=this._target.x+this._mask.width/2;
                this._mask.y=this._target.y+this._mask.height/2;

                this._radius=this._mask.width/2;

                this._mask.rotation=-90;
                this._target.mask=this._mask;
        }

        
        /**
         * 设置cd进度
         * @param  {number} p
         * @returns void
         */
        public set Progress(p:number)
        {
                this.checkParent();

                var currAngle:number = 2 * Math.PI * p;//根据经过时间算出弧度  
        this._mask.graphics.clear();
        this._mask.graphics.beginFill(0xff0000);
        this._mask.graphics.moveTo(0,0);//去原点
        this._mask.graphics.niceTo(this._radius, 0);//3点为开始位置
        this._mask.graphics.drawArc(0,0, this._radius,0, currAngle, false);
        this._mask.graphics.moveTo(0,0);//去原点
        this._mask.graphics.endFill();

        }
}
[/mw_shl_code]





分享到 :
0 人收藏

3 个回复

倒序浏览
app小王子  社区管理员 | 2018-6-15 09:52:48
感谢反馈,请上传个 demo ,具体说明下什么浏览器下可以复现。
肉饼哥  登堂入室 | 2018-7-11 11:51:46
人家都把代码都贴出来了,还要人家传demo.你们就不能自己去研究一下吗,RES如果不先执行类似RES.loadConfig的方法直接执行RES.getResByUrl 报错,一直到现在都没处理。
肉饼哥  登堂入室 | 2018-7-11 11:53:45
@app小王子  社区管理员  你们官方就不能去尝试一下,不想用户流失只有自己主动去解决问题不要用户反映一个问题就要demo.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部