【问题标题】:How do I put controls on screen?如何在屏幕上放置控件?
【发布时间】:2016-01-09 22:39:22
【问题描述】:

我正在使用 Unity/Vuforia 构建适用于 Android 的增强现实应用程序的项目,我需要一些帮助。 找到图像目标后,屏幕上会出现一个球。 我不知道如何让球四处移动。 我可以使用虚拟按钮,但我希​​望找到一种在 android 屏幕上设置前进/后退/左/右按钮(或操纵杆)来控制球的方法。

任何人都可以提供任何建议或指出正确的方向吗? 我一直在寻找几个小时,只能找到虚拟按钮的教程。 没有什么能帮助我学会将它们放在屏幕上。

提前致谢!

【问题讨论】:

  • 你熟悉Unity的UI系统吗?添加画布并从那里开始unity3d.com/learn/tutorials/topics/user-interface-ui
  • 在您的问题中,我看不出虚拟按钮和前进/后退/左/右按钮之间的区别。如果您想使用硬件按钮(用于蓝牙键盘或其他东西),您可以分配按键,但您不需要。只需使用滑动触摸手势来移动球。

标签: android unity3d vuforia unity3d-ui


【解决方案1】:

对你来说最好的选择可能是使用 Unity 的 UI 系统。您可以在 UI 中添加许多不同的东西,例如按钮、滚动条、滑块、图片或文本。使用它,您也许可以为您的游戏构建自己的控件。您可以通过场景编辑器或代码添加 UI 元素。

例如,添加 按钮 非常简单:

1、点击添加一个Canvas

注意 - 始终选择“Screen Space Overlay”和“Scale with screen size”

(在 Unity5 中,Unity 不小心将默认设置设置为错误。您使用的唯一设置就是这两个。)

2、点击添加Button

大功告成 - 只需拖入您希望通过按钮运行的任何功能。

在示例中,您将拥有如下脚本:

public void SomeScript()
  {
  public void ClickedMainMenu()
    {
    a.PlayOneShot(clickSound, 3f);
    SceneManager.LoadScene("main_menu");
    }
  public void ClickedLevel()
    {
    a.PlayOneShot(clickSound, 3f);
    SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }
  public void ClickedQuit()
    {
    a.PlayOneShot(clickSound, 3f);
    Application.Quit();
    }

只需在 UI.Button Inspector 面板中拖动并选择相关功能。 (您先按“+”,然后拖动。)

【讨论】:

  • 另一个可能对您有所帮助的是这个实际(虚拟)操纵杆控制器的示例。 forum.unity3d.com/threads/…
  • 这个脚本应该如何工作?您宁愿希望第一行类似于public class SomeScript : MonoBehaviour {a 来自哪里?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多