【问题标题】:instantiating an object at a specific position在特定位置实例化对象
【发布时间】:2021-09-13 18:44:31
【问题描述】:

过去一个小时一直在尝试这样做,这是我到目前为止的代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;



public class clone : MonoBehaviour
{
    public GameObject fruit;
    void Update()
    {
        Instantiate(fruit);
    }
}

【问题讨论】:

  • 一小时还不算多......你有没有尝试/研究过任何东西?也许你应该先阅读一些非常基本的 Unity 教程,然后再做进一步的事情
  • 清楚地说明您要做什么以及遇到什么错误。另请查看stackoverflow.com/help/how-to-ask。

标签: c# unity3d


【解决方案1】:

Instantiate documented 有多个重载,它甚至返回 GameObject,因此您可以操纵位置。

要么:

Instantiate(fruit, new Vector3(1,2,3), Quaternion.Identity);

或:

GameObject obj = Instantiate(fruit);
obj.transform.position = new Vector3(1,2,3);

注意:您的代码每一帧在Update() 中生成对象 - 您应该在由 KeyPress 触发的函数中执行操作,或者在调用一次的 Start 中执行操作开始。如果需要多个水果,可以使用循环。

【讨论】:

  • 游戏对象没有位置属性。我认为您的意思是代码的第二部分中的 obj.transform.position。
猜你喜欢
  • 1970-01-01
  • 2014-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多