一开始物体带有初始颜色,
碰撞到物体时变色(分别有黄色和蓝色)
离开被碰撞物体时变色(红色,黑色,白色顺序切换)
public class SE : MonoBehaviour {
int a = 2;
int b = 3;
void OnTriggerEnter(Collider other)//触发器可以穿透,所以把重力去掉
// OnTriggerEnter:触发接触的那一帧被调用
{
if (other.CompareTag("1"))//被碰撞的物体标签是(1)
{
if (a%2==0)
{
other.GetComponent<MeshRenderer>().material.color = Color.yellow;
//被碰撞物体,添加组件<网格渲染> 材质球的颜色 变成 黄色
}
else if (a%2==1)
{
other.GetComponent<MeshRenderer>().material.color = Color.blue;
}
a++; //实现颜色切换
Debug.Log("enter"); //同等于print("")输出
Debug.Log(other.gameObject.name); //同等于print("")输出
//other.gameObject.name 被碰撞物体的名字
}
}
void OnTriggerExit(Collider other) // 触发结束被调用
{
if (b%3==0)
{
other.GetComponent<MeshRenderer>().material.color = Color.red;
}
else if(b%3==1)
{
other.GetComponent<MeshRenderer>().material.color = Color.black;
}
else if (b % 3 == 2)
{
other.GetComponent<MeshRenderer>().material.color = Color.white;
}
Debug.Log("Exit");//同等于print("")输出
b++;
}
}
|