我必须将乒乓游戏从键盘用法转换为基于触摸的机制。但是,我完全想弄清楚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)
。如果返回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");
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句