七、Input
1、獲取鍵盤輸入(返回值:bool)
(1)GetKey:按下某鍵後,持續返回true。
(2)GetKeyDown:按下某鍵的一瞬間,返回true。
(3)GetKeyUp:擡起某鍵的一瞬間,返回 true。
2、獲取鼠標輸入(返回值:bool)
- 0左鍵,1右鍵,2中鍵
(1)GetMouseButton:檢測是否按鼠標,持續檢測。
(2)GetMouseButtonDown:檢測是否按下鼠標,只檢測一次。
(3)GetMouseButtonUp:檢測是否擡起了鼠標。
3、獲取按鈕輸入(返回值:bool) - Edit–Project Setting–Input輸入管理器中查看按鈕的設置
(1)GetButton:檢測是否按了按鈕,持續檢測。
(2)GetButtonDown:檢測是否按下按鈕,只檢測一次。
(3)GetButtonUp:檢測是否擡起了按鈕,只檢測一次。
4、獲取虛擬軸的值(返回值:float)
(1)Input.GetAxis(“Horizontal”):返回-1到1之間的浮點數,有漸變效果。
(2)Input.GetAxisRaw(“Vertical”):沒有漸變效果,只能返回-1,0,1三個值。 - 控制物體前後左右移動
float h = Input.GetAxis("Horizontal");
float v = Input.GetAxis("Vertical");
transform.Translate(Vector3.right*h*Time.deltaTime);
transform.Translate(Vector3.forward*v*Time.deltaTime);
5、其他
(1)anyKey:當前是否有任何鍵或鼠標按鈕被按住。
(2)anyKeyDown:當用戶點擊任何鍵或鼠標按鈕的第一幀時,返回true。
(3)mousePosition:當前鼠標位置的像素座標。(Z軸恆爲0)
八、Vector2(結構體)
1、靜態變量(直接通過類名調用)
(1)down:print(Vector2.dowm); (0,-1)
(2)up:print(Vector2.up); (0,1)
(3)left:print(Vector2.left); (-1,0)
(4)right:print(Vector2.right);(1,0)
(5)one:print(Vector2.one); (1,1)
(6)zero:print(Vector2.zero); (0,0)
2、變量
(1)magnitude:返回向量的長度。
(2)normalized:返回向量單位化後的向量,並且對原向量不產生影響。
(3)sqrMagnitude:返回這個向量長度的平方。
3、構造函數
Vector2:用給定的x, y分量構造一個新的向量。
4、公有函數(方法)
(1)Equals:如果給定的向量恰好等於這個向量,則返回true。
(2)Normalize:對向量a進行單位化,對向量a會產生影響。
5、靜態函數(方法)
(1)Distance:輸出兩個向量之間的距離。
(2)Angle:輸出兩個向量之間的角度。
(3)ClampMagnitude:返回向量的副本,其大小被限制爲maxLength。
(4)Lerp:用t對向量a和b進行線性插值。
(5)LerpUnclamped:用t對向量a和b進行線性插值。大於Lerp
(6)Max:返回長度值大的。
(7)Min:返回長度值小的。
(8)Scale:按組件方式將兩個向量相乘。
(9)MoveTowards:向目標移動一個點電流。(從當前移動到指定目標)
九、Vector3(結構體)
1、靜態變量(直接通過類名調用)
(1)down:print(Vector3.dowm); (0,-1,0)
(2)up:print(Vector3.up); (0,1,0)
(3)left:print(Vector3.left); (-1,0,0)
(4)right:print(Vector3.right); (1,0,0)
(5)one:print(Vector3.one); (1,1,1)
(6)zero:print(Vector3.zero); (0,0,0)
(7)back:print(Vector3.back); (0,0,-1)
(8)forward:print(Vector3.forward);(0,0,1)
2、靜態函數(方法)
(1)Cross:兩個向量的外積。
(2)OrthoNormalize:使向量歸一化並互相正交。
(3)ClampMagnitude:返回向量的副本,其大小被限制爲maxLength。
(4)Lerp:用t對向量a和b進行線性插值。
(5)LerpUnclamped:用t對向量a和b進行線性插值。大於Lerp
(6)Max:返回長度值大的。
(7)Min:返回長度值小的。
(8)Scale:按組件方式將兩個向量相乘。
(9)MoveTowards:向目標移動一個點電流。(從當前移動到指定目標)
(10)Project:將一個向量投影到另一個向量上。
(11)Reflect:將一個向量反射出法向量定義的平面。
(12)Slerp:在兩個向量之間進行球面插值。
3、向量運算 + - * / ==
十、Random生成隨機數
1、Range:生成隨機數,不包括最大值
2、InitState:用種子初始化隨機數生成器狀態。
測試代碼:
public class API13Random : MonoBehaviour {
public Transform cube;
void Start () {
//Random.InitState( (int)System.DateTime.Now.Ticks );
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
print(Random.Range(4, 100));
}
//cube.position = Random.insideUnitCircle * 5;
cube.position = Random.insideUnitSphere * 5;
}
}
3、ColorHSV:從HSV和alpha範圍生成一個隨機顏色。
4、value:返回一個介於0.0(包括0.0在內)和1.0(包括1.0在內)之間的隨機數(只讀)。
5、state:獲取/設置隨機數生成器的完整內部狀態。
6、rotation:返回一個隨機旋轉(只讀)。
7、insideUnitSphere:返回半徑爲1的球體內的隨機點(只讀)。
8、insideUnitCircle:返回半徑爲1的圓內的隨機點(只讀)。