菜单

解决Fairygui在Laya下颜色设置无效的问题

2019年4月17日 - laya

最近发现fgui组件的color设置无效,即使用laya自带的颜色滤镜依然无效,所以着手解决了一下,直接上代码。

修改fgui.js,然后找到gobject类,添加如下代码

__proto.setColor=function(val){
		if(val){
			var r = parseInt(val.substring(1, 3), 16);
			var g = parseInt(val.substring(3, 5), 16);
			var b = parseInt(val.substring(5, 7), 16);
			var cm = new ColorMatrix();
			cm.setRgb(r/255, g/255, b/255);
			var cf = new ColorFilter(cm);
			this.filters=;
		}
		else{
			this.filters=[];
		}
	}

找到 ColorMatrix 类,然后添加如下代码

__proto.setRgb=function(r, g, b){
		r=this.cleanValue(r,1);
		g=this.cleanValue(g,1);
		b=this.cleanValue(b,1);
		this[0]=r;
		this[6]=g;
		this[12]=b;
	}

大功告成,在你的任意fgui组件调用,xxx.setColor(‘#ff0000’)和xxx.setColor(null)即可设置颜色效果和取消颜色效果。

发表评论

电子邮件地址不会被公开。 必填项已用*标注