1. 程式人生 > >噩夢射手(SurvivalShooter)教程(二)

噩夢射手(SurvivalShooter)教程(二)

這裡寫圖片描述

SurvivalShooter 是Unity的官方教程案例

主角移動

  1. 先選中Assets->Models->Characters將主角Player拖到場景中
    這裡寫圖片描述

  2. 給主角新增Rigidbody元件

    這裡寫圖片描述

    這裡寫圖片描述

  3. 在Assets中新建一個資料夾Scripts專門用來存放指令碼語言(當然你也可以任意命名)在Scripts資料夾中新建Player資料夾專門存放主角的指令碼,接著新建一個C#指令碼
    這裡寫圖片描述

    4.開始寫主角移動的程式碼

這裡寫圖片描述

public float playerSpeed = 5f;
設定主角的速度,定義成public方便前臺的修改

playerRigidbody = GetComponent ();
表示獲得角色身上的剛體元件,後面會大量用到這個寫法

float h = Input.GetAxisRaw (“Horizontal”);
float v = Input.GetAxisRaw (“Vertical”);
表示主角接收水平,垂直方向上的玩家輸入。

vector = transform.position + vector.normalized * playerSpeed * Time.deltaTime;
這裡第二個引數固定為0是因為主角不會跳動,Y座標始終保持在一個位置,Time.deltaTime,這是一個規範寫法保證在不同的cpu機器上主角移動的距離是一樣的。

playerRigidbody.MovePosition (vector);
將程式碼拖拽到主角的面板上,點選執行

6.發現主角掉下去了,這是個嚴重的問題。下面是解決這個問題的步驟:

  1. 給主角加上CapsuleCollider元件
    這裡寫圖片描述
    調整大小,差不多框住主角
    這裡寫圖片描述

  2. 給地板加上BoxCollider
    現在點選執行鍵,按上下左右或WASD可以看到主角滑動起來了
    這裡寫圖片描述

  3. 如果遇到主角倒地情況
    這裡寫圖片描述
    小技巧:點開Rigidbody的Constraints,鎖住旋轉軸XZ
    這裡寫圖片描述