我希望在触摸时更改对象颜色,使用我之前通过按钮(颜色)选择的颜色。
答案 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;
}
}