【发布时间】:2016-05-12 09:08:21
【问题描述】:
我有一台触摸屏笔记本电脑(Lenovo IdeaPad Flex 15、Windows 10),但在 Unity 上运行代码:
if (Input.touchSupported)
print("supported");
else
print("not supported");
它显示它不受支持。我正在尝试打乒乓球,但你控制了两个桨并试图获得高分。以下是试图解决没有触摸被视为触摸的事实的代码。该代码应该向上或向下移动桨。
if (Input.GetMouseButton(0)) {
if (Input.mousePosition.x < Screen.width / 2)
{
//Begin Section: Touch left side
if (mousePos.y > transform.position.y)
{
yPos = gameObject.transform.position.y + (paddleSpeed * Time.deltaTime);
}
else
{
yPos = gameObject.transform.position.y - (paddleSpeed * Time.deltaTime);
}
//End of section
}
}
这行得通,唯一的问题是,桨必须彼此独立移动。所以我以同样的方式对另一个桨进行了编程。但是,当我运行该程序并用两根手指触摸我的屏幕时,拨片会发疯并且不起作用。
问题:我需要一种方法来对两个拨片的触摸支持进行编程。 这可以通过两种方式回答:告诉我如何在不支持触控的情况下进行编程,或者如何让 Unity 意识到我确实支持触控
对此的任何帮助将不胜感激!谢谢!
更新:我忘了补充一下,我已经在我的 Android 上测试了上面的代码,当你用两只手时它会吓坏,否则它是完美的。
【问题讨论】:
-
你可以搜索“fake touch”,我在将安卓游戏移植到独立游戏时写了这样的东西。或者只是使用鼠标输入,unity 将模拟触摸屏设备上的触摸。
-
@PawełMarecki 我这样做并在我的平板电脑上进行了测试。由于多次触摸而失控
-
是的,有可能。就我而言,我的游戏仅基于单点触控。我认为很难在“鼠标”输入上模拟多点触控。对不起,但不能提供更多帮助。编辑:还有一件事。您在平板电脑模式下测试过 W10 吗?
-
@Luke 您是否尝试仅使用触摸(Input.touches)而不考虑 Input.touchSupported 所说的内容?可以用,试试看。
-
@JerrySwitalski 是的,没有效果