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

Change controls from mouse to touch in Unity C#

我正在尝试创建一个跟随滑动方向的旋转轮。目前,它适用于鼠标控制,但我未能使该脚本适用于触摸控制。知道怎么做吗?

脚本:

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);
  }
}

谢谢。

看看这个话题:http://answers.unity3d.com/questions/504707/replace-input-get-axis-horizontal-with-touch-input.html,第一个回答。

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