软件编程
位置:首页>> 软件编程>> C#编程>> Unity实现颜色渐变滑动条

Unity实现颜色渐变滑动条

作者:杰弗里斯_  发布时间:2023-11-28 10:54:51 

标签:unity,滑动条

本文实例为大家分享了Unity实现颜色渐变滑动条的具体代码,供大家参考,具体内容如下

效果展示

Unity实现颜色渐变滑动条

代码

直接挂在UGUI Slider上即可


using UnityEngine;
using UnityEngine.UI;

public class ColorFade : MonoBehaviour
{
   Color[] colors = new Color[]{
     new Color(1, 0, 0),
     new Color(1, 1, 0),
     new Color(0, 1, 0),
     new Color(0, 1, 1),
     new Color(0, 0, 1),
     new Color(1, 0, 1),
     new Color(1, 0, 0)};

private Slider slider_color;
   private Image img_handle;

private void Awake()
   {
       slider_color = transform.GetComponent<Slider>();
       slider_color.onValueChanged.AddListener(OnColorSliderValueChanged);
       // handle
       img_handle = slider_color.handleRect.GetComponent<Image>();
       img_handle.color = Color.red;
       // bg
       var hueTex = new Texture2D(colors.Length, 1);
       hueTex.SetPixels(colors);
       hueTex.Apply();
       slider_color.transform.Find("Background").GetComponent<Image>().sprite =
           Sprite.Create(hueTex, new Rect(Vector2.zero, new Vector2(colors.Length, 1)), Vector2.one * 0.5f);
       // fill
       slider_color.fillRect.GetComponent<Image>().enabled = false;
   }
   private void OnColorSliderValueChanged(float _value)
   {
       img_handle.color = Color.HSVToRGB(_value, 1, 1);
   }
}

来源:https://blog.csdn.net/qq_22955617/article/details/119039442

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com