Unity字符检测问题

img

img

public void Move(){
        if(Input.GetKeyDown('W')&&transform.position.z!=1){
            transform.Translate(Vector3.forward);
        }
        if(Input.GetKeyDown('S')&&transform.position.z!=-1){
            transform.Translate(Vector3.back);
        }
        if(Input.GetKeyDown('A')&&transform.position.x!=-1){
            transform.Translate(Vector3.left);
        }
        if(Input.GetKeyDown('D')&&transform.position.x!=1){
            transform.Translate(Vector3.right);
        }
    }

就是这里出问题了,自学跟着视频做也有bug。
请大家解决一下:)


    public void Move()
    {
        if (Input.GetKeyDown(KeyCode.W) && transform.position.z != 1)
        {
            transform.Translate(Vector3.forward);
        }
        if (Input.GetKeyDown(KeyCode.S) && transform.position.z != -1)
        {
            transform.Translate(Vector3.back);
        }
        if (Input.GetKeyDown(KeyCode.A) && transform.position.x != -1)
        {
            transform.Translate(Vector3.left);
        }
        if (Input.GetKeyDown(KeyCode.D) && transform.position.x != 1)
        {
            transform.Translate(Vector3.right);
        }
    }