C# 在Unity C中将控件从鼠标更改为触摸#

C# 在Unity C中将控件从鼠标更改为触摸#,c#,unity3d,touch,mouse,swipe,C#,Unity3d,Touch,Mouse,Swipe,我正在尝试创建一个遵循滑动方向的旋转轮。目前,它可以很好地与鼠标控制,但我未能使这个脚本与触摸控制工作。你知道怎么做吗 脚本: void Update () { if (Input.GetMouseButtonDown(0)) { f_difX = 0.0f; } else if (Input.GetMouseButton(0)) { f_difX = Mathf.Abs(f_lastX - Input.GetAxis ("Mouse X"));

我正在尝试创建一个遵循滑动方向的旋转轮。目前,它可以很好地与鼠标控制,但我未能使这个脚本与触摸控制工作。你知道怎么做吗

脚本:

void Update () 
{
  if (Input.GetMouseButtonDown(0))
  {
      f_difX = 0.0f;
  }
  else if (Input.GetMouseButton(0))
  {
      f_difX = Mathf.Abs(f_lastX - Input.GetAxis ("Mouse X"));

      if (f_lastX < Input.GetAxis ("Mouse X"))
      {
          i_direction = -1;
          transform.Rotate(Vector3.up, -f_difX);
      }

      if (f_lastX > Input.GetAxis ("Mouse X"))
      {
          i_direction = 1;
          transform.Rotate(Vector3.up, f_difX);
      }

      f_lastX = -Input.GetAxis ("Mouse X");
  }
  else 
  {
      if (f_difX > 0.5f) f_difX -= 0.05f;
      if (f_difX < 0.5f) f_difX += 0.05f;

      transform.Rotate(Vector3.up, f_difX * i_direction);
  }
}
void更新()
{
if(Input.GetMouseButtonDown(0))
{
f_difX=0.0f;
}
else if(Input.GetMouseButton(0))
{
f_difX=Mathf.Abs(f_lastX-Input.GetAxis(“鼠标X”);
if(f_lastXInput.GetAxis(“鼠标X”))
{
i_方向=1;
变换。旋转(向量3.up,f_difX);
}
f_lastX=-Input.GetAxis(“鼠标X”);
}
其他的
{
如果(f_difX>0.5f)f_difX-=0.05f;
如果(f_difX<0.5f)f_difX+=0.05f;
变换。旋转(矢量3.up,f_difX*i_方向);
}
}

谢谢。

看看这个帖子:,第一个答案


该链接提供了一个代码片段,显示了如何使用计算的位置增量来替换Input.GetAxis。

值得提供链接中答案所包含内容的快速概述,特别是因为它不是stackoverflow答案,并且可能在将来某个时候更改/无法访问。