unity3d 人物移動

人物移動方式,有兩方式:

根據鍵盤輸入來進行移動。主要是用的代碼:

    void Move()
    {
        if (Input.GetKey(KeyCode.W))
        {
            transform.Translate(Vector3.forward * Time.deltaTime);
        }
        else if (Input.GetKey(KeyCode.A))
        {
            transform.Translate(Vector3.left * Time.deltaTime);
        }
        else if (Input.GetKey(KeyCode.S))
        {
            transform.Translate(-Vector3.forward * Time.deltaTime);
        }
        else if (Input.GetKey(KeyCode.D))
        {
            transform.Translate(Vector3.right * Time.deltaTime);
        }
    }

該種方式與上述方式的不同在於使用Horizontal和Vertical,其具體設置在
Edit->Settings->Input。
GetAxisRaw 沒有使用平滑效果

float hor = Input.GetAxisRaw("Horizontal");
    float ver = Input.GetAxisRaw("Vertical");
    void Move(float hor, float ver)
    {
        
        if(hor > 0.0f)
        {
            transform.Translate(Vector3.right * Time.deltaTime);
        }else if(hor < 0.0f)
        {
            transform.Translate(Vector3.left * Time.deltaTime);
        } else if(ver > 0.0f)
        {
            transform.Translate(Vector3.forward * Time.deltaTime);
        }
        else if (ver < 0.0f)
        {
            transform.Translate(Vector3.back * Time.deltaTime);
        }
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章