在 Unity C# 中覆盖变量

Overwriting variable in Unity C#

我正在使用 C# 在 Unity 中制作脚本。我正在尝试使用 Update() 方法来检测相机位置是否超过某个点,然后将对象实例化到场景中并将变量 "x" 覆盖为其他内容,这样这只会发生一次。 问题是我无法覆盖这个 "x" 变量。

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

public class NewBehaviourScript : MonoBehaviour{
    public GameObject GroundSprite;
    public int x = 1;
    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {
        if (((Camera.main.transform.position.x) < -4) && ( x == 1)) 
        {
            Instantiate(GroundSprite, transform.position, Quaternion.identity);
            int x = 2;
        }
    }

}

请从下面的代码中删除 int,您的值将被覆盖。

// Update is called once per frame
void Update()
{
    if (((Camera.main.transform.position.x) < -4) && ( x == 1)) 
    {
        Instantiate(GroundSprite, transform.position, Quaternion.identity);
         //int x = 2;
           x=2;
    }
}