鼠標事件:
鼠標事件,都是當鼠標和gui或者碰撞體(Collider)交互時候觸發。需要說明的是drag其實就是鼠標down后up之前持續每幀都會發送此消息。
OnMouseDown:當鼠標上的按鈕被按下時觸發的事件;
OnMouseDrag:當用戶鼠標拖拽GUI元素或碰撞體時調用;
OnMouseEnter:當鼠標進入物體范圍時被調用;
OnMouseExit:當鼠標退出時被調用;
OnMouseOver:當鼠標移動到某對象的上方時觸發的事件;
OnMouseUp:當鼠標按鍵被松開時觸發的事件
按下事件:Input.GetMouseButtonDown()
該方法只有一個參數,參數為0時,代表鼠標左鍵被按下,參數為1的時候,代表鼠標右鍵被按下,參數為2的時候代表鼠標中鍵被按下。
void Update() {
if (Input.GetMouseButtonDown(0))
Debug.Log("Pressed left click.");
if (Input.GetMouseButtonDown(1))
Debug.Log("Pressed right click.");
if (Input.GetMouseButtonDown(2))
Debug.Log("Pressed middle click.");
}
抬起事件:Input.GetMouseButtonUp()
鼠標在按下后肯定要抬起,按下的時候會觸發按下事件,抬起的時候會觸發抬起事件。與按下事件相同,抬起事件也只有一個參數,當參數為0的時候代表鼠標左鍵抬起,參數為1的時候代表鼠標右鍵被抬起,參數為2的時候代表鼠標中鍵被抬起。
void Update() {
if (Input.GetMouseButtonDown(0))
Debug.Log("Pressed left click.");
if (Input.GetMouseButtonDown(1))
Debug.Log("Pressed right click.");
if (Input.GetMouseButtonDown(2))
Debug.Log("Pressed middle click.");
}
長按事件:Input.GetMouseButton()
檢測鼠標三個三個按鍵中某一按鍵一直按下的狀態或者是獲得按下的按鍵,和之前的兩個事件一樣,只有一個參數,當參數為0的時候代表鼠標左鍵長按,參數為1的時候代表鼠標右鍵長按,參數為2的時候代表鼠標中鍵被長按。
void Update() {
if (Input.GetMouseButton(0))
Debug.Log("Pressed left click.");
if (Input.GetMouseButton(1))
Debug.Log("Pressed right click.");
if (Input.GetMouseButton(2))
Debug.Log("Pressed middle click.");
}