C# 通过x轴上的触摸输入移动播放器,但不影响其他轴
我想让玩家在x轴上通过触摸输入移动,但它锁定了Y轴和Z轴的移动 如果有办法制作矢量3(触摸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
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
?我试过了。玩家开始随机飞行。