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

时间:2017-09-15 13:37:02

标签: 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"));

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

感谢。

1 个答案:

答案 0 :(得分:1)

看一下这个帖子:http://answers.unity3d.com/questions/504707/replace-input-get-axis-horizontal-with-touch-input.html,第一个答案。

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