這是我參與8月更文挑戰的第12天,活動詳情查看:8月更文挑戰數組
對於鍵盤按鍵操做,只有三種操做:markdown
根據座標軸名稱返回虛擬座標系中的值使用控制器和鍵盤輸入時此值範圍在-1到1之間post
例如:ui
public class example : MonoBehaviour {
public float speed = 10.0F;
public float rotationSpeed = 100.0F;
void Update()
{
// 獲取橫向和縱向座標軸,默認狀況下他們關聯到方向鍵上,值的範圍是在-1到1之間
float translation = Input.GetAxis("Vertical") * speed**Time.deltaTime;
float rotation = Input.GetAxis("Horizontal") * rotationSpeed*Time.deltaTime;
// 沿着z軸平移對象
transform.Translate(0, 0, translation);
// 以咱們的y軸爲中心旋轉
transform.Rotate(0, rotation, 0);
}
}
複製代碼
public class question1 : MonoBehaviour
{
// 在鼠標左鍵被按下時,利用鼠標的中軸,實現模型的縮放。
void Update ()
{
if (Input.GetMouseButton(0)) //按下鼠標左鍵
{
//獲取鼠標中軸滾動量
float a = Input.GetAxis("Mouse ScrollWheel");
//找到攝像機組件Camera上的fieldOfView屬性
this.gameObject.GetComponent<Camera>().fieldOfView += a;
}
}
}
複製代碼
當將Unity遊戲運行到IOS或Android設備上時,桌面系統的鼠標左鍵能夠自動變爲手機屏幕上的觸屏操做,但如多點觸屏等操做倒是沒法利用鼠標操做進行的。Unity的Input類中不只包含桌面系統的各類輸入功能,也包含了針對移動設備觸屏操做的各類功能,下面介紹一下Input類在觸碰操做上的使用。this
首先介紹一下Input.touches結構,這是一個觸摸數組,每一個記錄表明着手指在屏幕上的觸碰狀態。每一個手指觸控都是經過Input.touches來描述的;spa
屬性說明code
其中phase(狀態)有如下這幾種:orm
狀態 | 說明 |
---|---|
Began | 手指剛剛觸摸屏幕 |
Moved | 手指在屏幕上移動 |
Stationary | 手指觸摸屏幕,但自最後一陣沒有移動 |
Ended | 手指離開屏幕 |
Canceled | 系統取消觸控跟蹤,緣由如把設備放在臉上或同時超過5個觸摸點 |