1. 簡介

在Unity3D中,有多種方式可以改變物體的坐標(biāo),實現(xiàn)移動的目的,其本質(zhì)是每幀修改物體的position。之前寫過類似的文章,這次增加了平時常用API的腳本,每個腳本均手打測試可用.

2. 通過Transform組件移動物體

Transform組件用于描述物體在空間中的狀態(tài),它包括位置(position),旋轉(zhuǎn)(rotation)縮放(scale)。 其實所有的移動都會導(dǎo)致position的改變,這里所說的通過Transform組件來移動物體,指的是直接操作Transform來控制物體的位置(position)

2.1 Transform.Translate

該方法可以將物體從當(dāng)前位置,移動到指定位置,并且可以選擇參照的坐標(biāo)系。 當(dāng)需要進行坐標(biāo)系轉(zhuǎn)換時,可以考慮使用該方法以省去轉(zhuǎn)換坐標(biāo)系的步驟。

public float m_speed = 5f;//Translate移動控制函數(shù)
    void MoveControlByTranslate()
    {        if (Input.GetKey(KeyCode.W)|Input.GetKey(KeyCode.UpArrow)) //前
        {            this.transform.Translate(Vector3.forward*m_speed*Time.deltaTime);
        }        if (Input.GetKey(KeyCode.S) | Input.GetKey(KeyCode.DownArrow)) //后
        {            this.transform.Translate(Vector3.forward *- m_speed * Time.deltaTime);
        }        if (Input.GetKey(KeyCode.A) | Input.GetKey(KeyCode.LeftArrow)) //左
        {            this.transform.Translate(Vector3.r