Unity 触摸控件每秒至少工作 5-6 次

Unity touch controls works at least 5-6 times in a second

我正在尝试在我当前的 Unity 项目上实现触控。 我目前正在尝试执行这行代码,但我发现 fps 已显着下降并且它执行有关触摸控制的行比我预期的要多。

for(int i=0;i<Input.touchCount;i++)
{
   Debug.log("Touched");
}

我很好奇,是否有更有效的方法来从 IOS 和 Android 的用户那里获取触摸输入,谢谢。

我想您在更新功能中使用了它。 你需要那样做:

void Update()
{
    if (Input.touchCount > 0)
    {
        Touch touch = Input.GetTouch(0);

        if (touch.phase == TouchPhase.Began)
        {
            Debug.Log("Touched");
        }
    }
}

这样它只会在开始时为触摸调用一次。

您的做法是“触摸屏幕时,在日志中打印 'Touched'”。

如果你想做很多手指你可以做

void Update()
{
    if (Input.touchCount > 0)
    {
        int countTouches = Input.touchCount;
        for (int i = 0; i < countTouches; i++)
        {
            if (Input.GetTouch(i).phase == TouchPhase.Began)
            {
                Debug.Log("Touched");
            }
        }
    }
}