Unity 7 2 滑鼠輸入

2022-09-15 03:03:10 字數 1360 閱讀 7342

分類:unity、c#、vs2015

建立日期:2016-04-21

一、簡介

在桌面系統的遊戲中,滑鼠輸入是最基本的輸入方式之一。遊戲很多操作都需要滑鼠來完成,例如**的瞄準和**、選單的單擊、物體的拾取等。

滑鼠輸入的相關事件包括滑鼠移動、按鍵的單擊等。

input類中和滑鼠輸入有關的方法和變數如下圖所示:

在unity中,滑鼠位置用螢幕的畫素座標表示,螢幕左下角為座標原點(0,0),右上角為(screen.width,screen.height),其中screen.width為螢幕解析度的寬度,screen.height為螢幕解析度的高度。

mouseposition的變數型別為vector3,,其中x分量對應水平座標,y分量對應垂直座標,z分量始終為0。

cetmousebuttondown、cetmousebuttonup、cetmousebutton這3個方法需要傳入引數來指定判斷哪個滑鼠按鍵,0對應左鍵,1對應右鍵,2對應中鍵。

二、基本用法示例

下面的**演示了如何響應滑鼠單擊事件(0對應滑鼠左鍵,1對應滑鼠右鍵,2對應滑鼠中鍵)。

void update()

//按下滑鼠左鍵

if(input.getmousebuttondown(0))

//按住滑鼠左鍵

if(input.getmousebutton(0))

//抬起滑鼠左鍵

if(input.getmousebuttonup(0))

//按下滑鼠右鍵

if(input.getmousebuttondown(1))

//按住滑鼠右鍵

if(input.getmousebutton(1))

//抬起滑鼠右鍵

if(input.getmousebuttonup(1))

示例(demo2_1_rotateexample.unity)

該例子演示如何根據滑鼠移動距離來旋轉模型進行觀察。

將下面的指令碼(rotateexample.cs檔案)新增到要旋轉的模型上,模型就會跟隨滑鼠的移動而旋**

using

unityengine;

using

system.collections;

public

class

rotateexample : monobeh**iour

}

執行效果:

Unity滑鼠事件

滑鼠按下事件 來判斷滑鼠那個按鍵被按下,該方法只有乙個引數,如果引數為0,則帶便滑鼠左鍵被按下,引數為1代表滑鼠右鍵被按下,引數為2代表滑鼠中鍵被按下,使用input.mouseposition引用可得到滑鼠當前位置的三維座標。if input.getmousebuttondown 0 if inp...

unity學習筆記(2) 滑鼠鍵盤輸入

input.getkey 按下某鍵後,持續返回true input.getkeydown 按下某鍵的一瞬間,返回true input.getkeyup 抬起某鍵的一瞬間,返回true返回值 bool型別 引數 keycode列舉 enum keycode 鍵碼,儲存了物理鍵盤按鍵 索引碼 void ...

Unity 滑鼠懸停

程式實現效果 using unityengine.eventsystems void update mouse hover exit null void start private void windowctrl click 滑鼠懸停進入 eventtrigger.entry hoveronentr...