我必须将我的乒乓球游戏从键盘使用转换为基于触摸的机制。然而,我完全陷入困境,试图找出Unity的触控机制。我已经通过互联网进行了搜索,每个人都以某种方式不断解决问题。从我收集的所有内容中,我认为应该起作用。这是我的更新方法,所以它不断检查这个。
Touch t;
void Update() {
if (Input.touchCount > 0) {
print("touch seen");
t = Input.GetTouch(0);
}
}
无论我触摸屏幕多少次,都不会遇到if语句条件。我使用的是具有触摸屏的lenovo笔记本电脑,也许它正在点击我的触摸点?我似乎无法弄明白。如果我拿走if语句,我会得到一个ArrayIndexOutOfBounds异常。非常感谢任何帮助!
更新它注册为鼠标点击,我不能只允许这样做,因为我需要多次触摸输入。
答案 0 :(得分:0)
您可以使用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");
}
}
}