C# 如何一次克隆一个对象而不是1,2,4?

C# 如何一次克隆一个对象而不是1,2,4?,c#,unity3d,C#,Unity3d,我想克隆一个预置一次,但我遇到了一个问题,它每次复制2次 我已经尝试过实例化预置和删除前一个预置的不同方法,因此只生成一个预置。没有人成功,所以这是我最后的选择。我知道这是可能的。我正在寻找与此相同的效果: 我只希望序列增加1,例如1,2,3,4 但实际上它是重复的:例如,1,2,4,8设置一个bool,这样它只克隆一次 public class Spawning_Projectiles : MonoBehaviour { public GameObject projectile;

我想克隆一个预置一次,但我遇到了一个问题,它每次复制2次

我已经尝试过实例化预置和删除前一个预置的不同方法,因此只生成一个预置。没有人成功,所以这是我最后的选择。我知道这是可能的。我正在寻找与此相同的效果:

我只希望序列增加1,例如1,2,3,4
但实际上它是重复的:例如,1,2,4,8设置一个bool,这样它只克隆一次

public class Spawning_Projectiles : MonoBehaviour
{
    public GameObject projectile;
    GameObject Clone;
    bool hasCloned;

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0) && !hasCloned)
        {
            Clone = Instantiate(projectile, transform.position, Quaternion.identity) as GameObject;
            hasCloned = true;
        }
    }

}

确保您正在实例化的对象没有
sprowning\u projectles
脚本。为什么每次这个数字都会翻倍,这是因为当您尝试实例化预置时,每个新实例也会复制一个副本。

您将此脚本附加到什么上?可能是你试图生成的投射物?如果此脚本附加到你要克隆的东西(预制体),那么每个克隆体也将运行此代码。感谢您的响应。我已经很晚了,我只是刚刚开始在unity编程。这是一个很大的帮助,多亏了所有的帮助。我早些时候试过,但由于一些奇怪的原因,它没有起作用。如果你能解释一下为什么会产生1而不是2?感谢您的帮助,每个对象上都会有这个脚本。仅当单击时
hasconned
为false时,才允许克隆对象。第一次单击后,
hasconned
设置为true。然后,在您下次单击时,它将无法通过允许克隆的检查。
public class Spawning_Projectiles : MonoBehaviour
{
    public GameObject projectile;
    GameObject Clone;
    bool hasCloned;

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Mouse0) && !hasCloned)
        {
            Clone = Instantiate(projectile, transform.position, Quaternion.identity) as GameObject;
            hasCloned = true;
        }
    }

}