繁体   English   中英

在Unity中无法识别的触摸

[英]Touch not recognized ever in Unity

我必须将乒乓游戏从键盘用法转换为基于触摸的机制。 但是我完全想弄清楚Unity的触摸机制。 我已经在互联网上进行搜索,每个人都以某种方式继续解决问题,而这仍然对我来说是失败的。 从我收集到的一切来看,这是我认为应该起作用的。 这是我的更新方法,因此它会不断进行检查。

    Touch t;

void Update() {
    if (Input.touchCount > 0) {
        print("touch seen");
        t = Input.GetTouch(0);
    }
}

无论我触摸屏幕多少次,都永远不会满足if语句条件。 我使用的是带触摸屏的联想笔记本电脑,也许它是点击读取我的触摸? 我似乎无法弄清楚。 如果删除if语句,则会收到ArrayIndexOutOfBounds异常。 任何帮助都非常感谢!

更新它正在注册为单击鼠标,我不能只允许这样做,因为我需要多个触摸输入。

您可以使用Input.touchSupported来检查计算机是否支持触摸。 如果返回true ,则使用Input.GetTouch(0)从touch读取。 如果返回false ,则使用Input.GetMouseButtonDown从鼠标读取。 如果您的计算机不支持触摸屏,则触摸不起作用 以下是有关如何执行此操作的完整代码:

void Update()
{
 if (Input.touchSupported)
 {
    Debug.Log("TOUCH IS SUPPORTED");
    if ((Input.touchCount > 0) && (Input.GetTouch(0).phase == TouchPhase.Began))
    {
        print("touched screen");
    }
 }
 else
 {
    Debug.Log("TOUCH IS NOT SUPPORTED");
    if (Input.GetMouseButtonDown(0))
    {
        print("clicked screen");
    }
 }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM