Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过x轴上的触摸输入移动播放器,但不影响其他轴_C#_Unity3d - Fatal编程技术网

C# 通过x轴上的触摸输入移动播放器,但不影响其他轴

C# 通过x轴上的触摸输入移动播放器,但不影响其他轴,c#,unity3d,C#,Unity3d,我想让玩家在x轴上通过触摸输入移动,但它锁定了Y轴和Z轴的移动 如果有办法制作矢量3(触摸x轴,不改变,不改变) 此代码正在工作,但它锁定所有轴的播放器 void Update() { if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved) { Vector3 target = Camera.main.ScreenToWo

我想让玩家在x轴上通过触摸输入移动,但它锁定了Y轴和Z轴的移动

如果有办法制作矢量3(触摸x轴,不改变,不改变)

此代码正在工作,但它锁定所有轴的播放器

 void Update()
    {
        if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Moved)
        {

            Vector3 target = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, yAxis, zAxis));
            character.transform.Translate(Vector3.MoveTowards(character.transform.position, target, speed * Time.deltaTime) - character.transform.position);

        }

        if(Input.GetMouseButton(0))
        {
            Vector3 target = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, yAxis, zAxis));
            character.transform.Translate(Vector3.MoveTowards(character.transform.position, target, speed * Time.deltaTime) - character.transform.position);
        }
    }

与其使用
Input.mousePosition.x
,不如使用
Input.GetTouch(0).position
?播放器跟随触摸的部分正在工作,但我需要触摸以不影响Y轴和Z轴。当我移动手指时,我只希望x改变,而不是Y轴或Z轴。所以可能会将
yAxis
zAxis
更改为
character.transform.position.y
character.transform.position.z
?我试过了。玩家开始随机飞行。