我们如何为linerenderer设置白色

时间:2016-10-05 11:12:42

标签: unity3d swipe

我是团结的新手我设置了当我刷屏幕时应该出现的线条的宽度和颜色..但它不起作用,不知道我的代码是否错误

using UnityEngine;
using System.Collections;

public class LinesHandler : MonoBehaviour
{
    public Color c1 = Color.yellow;
    public Color c2 = Color.red;

    private GameObject lineGO;
    private LineRenderer lineRenderer;
    private int i = 0;

    void Start()
    {
        lineGO = new GameObject("Line");
        lineGO.AddComponent<LineRenderer>();
        lineRenderer = lineGO.GetComponent<LineRenderer>();
        lineRenderer.material = new Material(Shader.Find("Mobile/Particles/Additive"));
        //lineRenderer.SetColors(c1, c2);
        lineRenderer.SetWidth(0.05F, 0);
        lineRenderer.SetVertexCount(0);
    }

    void Update()
    {
        if (Input.touchCount > 0)
        {
            Touch touch = Input.GetTouch(0);

            if(touch.phase == TouchPhase.Moved)
            {
                lineRenderer.SetVertexCount(i+1);
                Vector3 mPosition = new Vector3(Input.mousePosition.x, Input.mousePosition.y, 15);
                lineRenderer.SetPosition(i, Camera.main.ScreenToWorldPoint(mPosition));
                i++;

                /* Add Collider */

                BoxCollider bc = lineGO.AddComponent<BoxCollider>();
                bc.transform.position = lineRenderer.transform.position;
                bc.size = new Vector3(0.1f, 0.1f, 0.1f);
            }

            if(touch.phase == TouchPhase.Ended)
            {
                /* Remove Line */

                lineRenderer.SetVertexCount(0);
                i = 0;

                /* Remove Line Colliders */

                BoxCollider[] lineColliders = lineGO.GetComponents<BoxCollider>();

                foreach(BoxCollider b in lineColliders)
                {
                    Destroy(b);
                }
            }
        }
    }
}

现在我在屏幕上滑动时会看到粉红色的线条。我可以将该颜色更改为白色 也可以减少线宽...

1 个答案:

答案 0 :(得分:4)

显然你正确设置它,但是当材料缺失时,粉红色是默认材质。我想它只是找不到你试图申请的材料。

您应该检查this

您也可以找到宽度和颜色的示例。