unity,基于HighlightingSystem的设置高亮闪烁的颜色

在实际项目中遇到了一个需求,是要根据用户传过来的数据来修改高亮闪烁的颜色在这里插入图片描述
就是上述图片中红框圈中的Gradient的颜色。废话不多说,直接上代码`
private Gradient SetGradient()
{
Gradient gradient = new Gradient();

        // 定义渐变的颜色关键帧
        GradientColorKey[] colorKey = new GradientColorKey[2];
        colorKey[0].color = _highlightColor;
        colorKey[0].time = 0.0f; // 渐变开始
        colorKey[1].color = _highlightColor;
        colorKey[1].time = 1.0f; // 渐变结束

        // 定义渐变的透明度关键帧
        GradientAlphaKey[] alphaKey = new GradientAlphaKey[2];
        alphaKey[0].alpha = 0.0f;
        alphaKey[0].time = 0.0f;
        alphaKey[1].alpha = 1.0f;
        alphaKey[1].time = 1.0f;

        // 应用关键帧到渐变
        gradient.SetKeys(colorKey, alphaKey);
        return gradient;
    }`

上述代码中_highlightColor 是用户传进来的颜色,我这里用到是同一个颜色,如果想要不同的颜色,colorkey这个数组里 可以多设置几个,取决于你具体的需求。
具体使用方法:
private void ChangeGradient()
{
Highlighter highlighter = gameObject.GetComponent();
if (highlighter == null)
{
highlighter = obj.gameObject.AddComponent();
}
highlighter.tween = true;
highlighter.tweenGradient = SetGradient();
}

   希望对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值