【问题标题】:Programming touch on non-touch supported computer in unity在非触摸支持的计算机上统一编程触摸
【发布时间】: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 是的,没有效果

标签: c# unity3d


【解决方案1】:

您还可以为您的手机下载 Unity Remote 4。 这对我帮助很大:http://docs.unity3d.com/Manual/UnityRemote4.html

编辑

  1. 在您的设备上下载并安装 Unity Remote 4。
  2. 在您的设备上启用 USB 调试并将其连接到您的电脑。
  3. 启动 Unity Remote 4,然后重新启动 Unity。
  4. 在 Unity 中,导航至:编辑 -> 项目设置 -> 编辑器。
  5. 在 Inspector 中,您现在可以在“Unity 远程”下选择您的设备。
  6. 点击 Unity 中的播放按钮。

【讨论】:

    猜你喜欢
    • 2017-09-22
    • 2015-11-20
    • 1970-01-01
    • 2015-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 2023-03-19
    相关资源
    最近更新 更多