【发布时间】:2021-11-14 21:11:53
【问题描述】:
我有一个 MRTK Slate,它带有可关闭的按钮。
按下关闭按钮时,Slate 被禁用但不会被销毁。这是因为在Events部分>Interactable script>GameObject.SetActive()是默认设置的,如图:
我想在点击关闭按钮后销毁石板。
我知道我可以通过编写脚本、将 slate 预制件附加到脚本(或将按钮的父级直到我将 slate 作为父游戏对象)、调用函数并使用 GameObject.Destroy() 来做到这一点。
但我想了解 Interactable 脚本中的 GameObject 下拉菜单是如何填充的:
我了解其他下拉菜单(如变换、跟随我切换、Solverhandler 等)会显示,因为它们附加到 Slate。
但是如何使用 GameObject 选项?这似乎是一个基本的事情,但我想确定它是如何编码的。
如果可以在 Gameobject 下拉列表中添加我的新操作,如果可以,如何?
我花时间查看 Interactable 和其他的脚本,但我是 C# 的初学者,无法看到执行此操作的代码在哪里。
任何意见都会对我有所帮助。
【问题讨论】:
-
GameObject & Transform 下拉菜单是 Unity 内部脚本的一部分。它们将始终存在,因为游戏场景中的每个对象都是一个 GameObject 并且每个 GameObject 都需要一个 Transform 组件。
-
好的,如果我理解正确,我们无法编辑这些脚本,因为它们是内部的?
-
是的,我相信这是不可能的。
-
您的具体需求是什么?为什么要修改 GameObject 下拉菜单?
-
我想销毁石板而不是在按下关闭按钮时简单地禁用它。我想知道是否没有。通过添加似乎来自 GameObject 下拉列表的代码,可以将脚本的数量保持在最低限度并破坏石板。因此,我想知道是否可以在 MRTK 提供的脚本中对其进行编辑。
标签: c# unity3d button hololens