cocos颜色滑动条取色,取色器

基本上就是一个通过滑动条进行取色,颜色实时渲染到上方的文字中!
实现起来也很简单:
在这里插入图片描述
这里用到官方的取色器标准 从上往下 划分7个颜色段,6个区间,每个区间只有单独的R G B 数值变化,把数值记录下来进行百分比分析即可进行取色。
在这里插入图片描述
以下是对应上方的颜色段:
在这里插入图片描述
TS代码:【使用的引擎cocos creator,代码是通用的】

//注册滑动条事件
onLoad() {
		this.slider.node.on('slide', () => {
			let p = this.slider.progress;
			let color = this.SelectColor(p);
			this.text.node.color = cc.color(color.r, color.g, color.b);
		}, this);
	}
	
//根据滑动条进度取色
SelectColor(p: number) {

		let r = 255;
		let g = 0;
		let b = 0;

		let limit1 = 1 / 6;
		let limit2 = 2 / 6;

		let limit4 = 4 / 6;
		let limit5 = 5 / 6;

		//红 -> 粉 -> 蓝 -> 青 -> 绿 -> 黄 -> 红
		if (p >= 0 && p <= 1 / 6) {
			r = 255;
			g = 0;
			b = p / limit1 * 255;
		} else if (p > 1 / 6 && p <= 2 / 6) {
			g = 0;
			b = 255;
			r = (1 - (p - limit1) / limit1) * 255;
		} else if (p > 2 / 6 && p <= 3 / 6) {
			r = 0;
			b = 255;
			g = (p - limit2) / limit1 * 255;
		} else if (p > 3 / 6 && p <= 4 / 6) {
			r = 0;
			g = 255;
			b = (1 - (p - 0.5) / limit1) * 255;
		} else if (p > 4 / 6 && p <= 5 / 6) {
			g = 255;
			b = 0;
			r = (p - limit4) / limit1 * 255;
		} else if (p > 5 / 6 && p <= 6 / 6) {
			r = 255;
			b = 0;
			g = (1 - (p - limit5) / limit1) * 255;
		}

		return cc.color(r, g, b);
	}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值