【问题标题】:How can I add objects to a scene via button click in Unity?如何通过在 Unity 中单击按钮将对象添加到场景中?
【发布时间】:2016-10-29 14:13:56
【问题描述】:

我想知道如何使用按钮单击将对象带到场景中。

【问题讨论】:

  • 我会先查看here。另外,请阅读How to Ask
  • 再一次,请阅读How to Ask。如果您有新问题,请照此发布。说“我有问题”而不解释它并详细说明所有相关代码将使我们无法提供帮助。

标签: unityscript unity5 gameobject resource-management


【解决方案1】:

1) 使用 Unity GUI 系统创建按钮。

2) 创建脚本:

public GameObject sampleObject;

public void AddObject()
{
    Instantiate(sampleObject, Vector3.zero, Quaternion.Identity);
}

3) 将此脚本附加到场景中的对象上,并将预制件设置为 sampleObject。

4) 选择您的按钮并在 Inspector 中添加一个新的 OnClick 脚本,然后选择附加了新脚本的对象,选择 AddObject() 方法。

现在,当您单击按钮时,它应该在 (0.0f, 0.0f, 0.0f) 处实例化一个对象。

希望对你有所帮助。

【讨论】:

  • 谢谢,你能告诉我更多,因为我不明白第四步,这很有帮助。请。谢谢
  • 好吧,当你选择你的按钮时,你应该在检查器窗口的底部看到一个小+按钮,这将添加一个新的 OnClick 行为,在那里你应该有一个脚本变量,只需拖动并删除附加脚本的对象。您应该能够使用下拉菜单从该脚本中选择一个公共方法。希望澄清步骤:)
【解决方案2】:

我认为使用 gameObject z 位置值并在该对象已创建时显示或隐藏

找到当前的gameObject并设置transform.postion.z = -1 or 1

如果 gameObject z 位置设置为 -1 hideObject 否则 showObject

示例代码

 float yourChose = -1f; // chose object hide or show (-1 or 1 )

 foreach (var item in  FindObjectsOfType(typeof(GameObject)) as GameObject[])
            {                               
                if (item != null && item.name == "CurrentObjectName")
                {
                    item.transform.position = new Vector3(item.transform.position.x, item.transform.position.y, yourChose); 
                }
            } 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    相关资源
    最近更新 更多