在Unity中触摸时更改对象颜色

时间:2016-04-23 09:39:05

标签: unity3d touch

我希望在触摸时更改对象颜色,使用我之前通过按钮(颜色)选择的颜色。

3 个答案:

答案 0 :(得分:1)

这只会向您展示一种改变对象颜色的方法。

     void OnMouseOver()
 {
      if (Input.GetMouseButtonDown(0))
      {
          renderer.material.color = Color.blue;
      }
 }

答案 1 :(得分:0)

将组件BoxCollider添加到对象大小调整BoxCollider使其与对象一样大或比对象大一点 再试一次这段代码:     使用UnityEngine; 使用System.Collections;

public class ChangeCubeColor:MonoBehaviour {

private int clickCount = 0;
private MeshRenderer render;
private float red = 0.0f;
private float green = 0.0f;
private float blue = 0.0f;
void Start()
{
    render = GetComponent<MeshRenderer>();
}
void OnMouseOver()
{
    if (Input.GetMouseButtonDown(0))
    {
        if (clickCount % 2 != 0)
        {
            render.material.color = Color.red;
        }
        else
        {
            Color color = new Color(red,green,blue);
            render.material.color = color;
            red += 0.1f;
            blue += 0.2f;
            green += 0.3f;
        }
        ++clickCount;
    }
}

}

答案 2 :(得分:0)

try like this:
 void OnGUI()
{
    if(GUI.Button(new Rect(100,100,200,50),"Red"))
    {
        render.material.color = Color.red;
    }
    if(GUI.Button(new Rect(100,50,200,50),"Blue"))
    {
        render.material.color = Color.blue;
    }
    if(GUI.Button(new Rect(100,150,200,50),"Green"))
    {
        render.material.color = Color.green;
    }
}