首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颜色渐变是如何工作的?

颜色渐变是如何工作的?
EN

Stack Overflow用户
提问于 2019-03-19 06:14:24
回答 1查看 73关注 0票数 0

我试图在我的代码中实现下面的图片,但它不起作用。它只在所有的边上显示红色。我使用的是线渲染器和颜色渐变。

代码语言:javascript
复制
 void Start()
{
    lineGeneratorPrefab = new GameObject();

    DrawLine();
}




private void DrawLine()
{
    GameObject myLine = new GameObject();
    myLine.transform.position = start;
    myLine.AddComponent<LineRenderer>();
    lr = myLine.GetComponent<LineRenderer>();
    lr.material = new Material(Shader.Find("Sprites/Default"));     
    lr.positionCount = 4;
    lr.SetPosition(0, new Vector3(-2, 0, 0));
    lr.SetPosition(1, new Vector3(2, 0, 0));
    lr.SetPosition(2, new Vector3(2, -2, 0));
    lr.SetPosition(3, new Vector3(-2, -2, 0));
    lr.loop = true;


    Gradient gradient = new Gradient();
    gradient.SetKeys(
        new GradientColorKey[]
        {
            new GradientColorKey(Color.red, 0.25f),
            new GradientColorKey(Color.blue, 0.25f),
            new GradientColorKey(Color.green, 0.25f),
            new GradientColorKey(Color.yellow, 0.25f)
        },
            new GradientAlphaKey[] { new GradientAlphaKey(1.0f, 0.0f) }
        );
    lr.colorGradient = gradient;

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-19 11:45:01

GradientColorKey的第二个参数是0,1,

因此您可以修改GradientColorKey数组,如下所示:

代码语言:javascript
复制
new GradientColorKey[]
    {
        new GradientColorKey(Color.red, 0.00f),
        new GradientColorKey(Color.red, 0.24f),
        new GradientColorKey(Color.blue, 0.25f),
        new GradientColorKey(Color.blue, 0.49f),
        new GradientColorKey(Color.green, 0.50f),
        new GradientColorKey(Color.green, 0.74f),
        new GradientColorKey(Color.yellow, 0.75f),
        new GradientColorKey(Color.yellow, 1.00f)
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55230857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档