【发布时间】:2016-06-13 11:44:07
【问题描述】:
我想在运行时统一选择一个游戏对象并使用 UI 按钮移动它。 例如,如果场景中有三个立方体,我想选择一个立方体,单击 UI 按钮后,我单击的一个立方体将移动。
我不知道如何将所选对象的值传递给按钮单击事件。如果有人可以使用示例代码显示它,那就太好了。
【问题讨论】:
我想在运行时统一选择一个游戏对象并使用 UI 按钮移动它。 例如,如果场景中有三个立方体,我想选择一个立方体,单击 UI 按钮后,我单击的一个立方体将移动。
我不知道如何将所选对象的值传递给按钮单击事件。如果有人可以使用示例代码显示它,那就太好了。
【问题讨论】:
您可以在对象上设置标签,然后使用GameObject.FindGameObjectsWithTag() 函数获取该对象。
这里是函数的文档:https://docs.unity3d.com/ScriptReference/GameObject.FindGameObjectsWithTag.html
【讨论】:
GameObject.tag 设置标签,也可以在用户界面中进行。选择游戏对象,顶部的对象属性应该有一个“标签”字段,您可以使用预定义的标签或您自己的标签进行设置。
使用这个:
var obj = Selection.activeObject;
在处理主要位于场景中的对象时,强烈建议改用以下代码:
var transform = Selection.activeTransform;
参考官方文档here。
【讨论】: