using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MouseEvent : MonoBehaviour {
public Transform cube;
//以下方法所在脚本必须挂在有碰撞器的物体上才会生效
//因为GUIElement现在已经逐步被淘汰,就不测试了,有兴趣的可以试下
//当用户在GUIElement或者碰撞器上按下鼠标时调用
private void OnMouseDown()
{
cube.GetComponent<MeshRenderer>().material.color = Color.red;
// transform.GetComponent<MeshRenderer>().material.color = Color.red;
print("down");
}
//当用户在GUIElement或者碰撞器上单击鼠标并保持按住鼠标时调用
private void OnMouseDrag()
{
cube.GetComponent<MeshRenderer>().material.color = Color.yellow;
// transform.GetComponent<MeshRenderer>().material.color = Color.yellow;
print("drag");
}
//当鼠标进入GUIElement或者碰撞器上时调用
private void OnMouseEnter()
{
cube.GetComponent<MeshRenderer>().material.color = Color.green;
// transform.GetComponent<MeshRenderer>().material.color = Color.green;
print("enter");
}
//当鼠标离开GUIElement或者碰撞器上时调用
private void OnMouseExit()
{
cube.GetComponent<MeshRenderer>().material.color = Color.cyan;
// transform.GetComponent<MeshRenderer>().material.color = Color.cyan;
print("exit");
}
//当鼠标停留在GUIElement或者碰撞器上每帧都调用
private void OnMouseOver()
{
cube.GetComponent<MeshRenderer>().material.color = Color.black;
// transform.GetComponent<MeshRenderer>().material.color = Color.black;
print("over");
}
//当用户在GUIElement或者碰撞器上松开按下的鼠标时调用
private void OnMouseUp()
{
cube.GetComponent<MeshRenderer>().material.color = Color.blue;
// transform.GetComponent<MeshRenderer>().material.color = Color.blue;
print("up");
}
}
unity中鼠标事件系列方法介绍
猜你喜欢
转载自blog.csdn.net/fenglele_fans/article/details/80533610
今日推荐
周排行