[英]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.