C# 产卵时预设的文本游戏对象引用

C# 产卵时预设的文本游戏对象引用,c#,unity3d,C#,Unity3d,我在将文本对象指定给预置时遇到问题。预制件生成后,文本对象将消失。正在尝试分配为GameObject,但无法转换为UI.Text public class Enemy : MonoBehaviour { public int currentlife; GameObject enemySpawner; private float timePassed; public Text LifeNow; GameObject hpBar; Slider

我在将文本对象指定给预置时遇到问题。预制件生成后,文本对象将消失。正在尝试分配为GameObject,但无法转换为UI.Text

public class Enemy : MonoBehaviour
{
    public int currentlife;
    GameObject enemySpawner;
    private float timePassed;

    public Text LifeNow;

    GameObject hpBar;

    Slider healthBar;

    private void Start()
    {
        enemySpawner = GameObject.FindWithTag("Spawner");
        currentlife = 12;

        hpBar = GameObject.FindWithTag("TagForSlider");
        healthBar = hpBar.GetComponent<Slider>();
    }

    private void Update()
    {
        if (currentlife <= 0)
        {
            this.GetComponent<Animator>().SetTrigger("death");
            GameObject.Find(gameObject.name + ("spawn point")).GetComponent<Respawn>().Death = true;
            timePassed += Time.deltaTime;
            if (timePassed >= 0.5)
            {
                Destroy(gameObject);
            }
        }
        healthBar.value = currentlife;

        LifeNow.text = "Health: " + currentlife;
    }
    public void TakeDamage(int damage)
    {
        currentlife -= damage;
    }
}
公共类敌人:单一行为
{
公共生活;
游戏对象敌手;
私人浮动时间已过;
现在公开文本;
游戏对象hpBar;
滑块健康条;
私有void Start()
{
enemySpawner=GameObject.FindWithTag(“产卵者”);
currentlife=12;
hpBar=GameObject.FindWithTag(“TagForSlider”);
healthBar=hpBar.GetComponent();
}
私有void更新()
{
如果(当前寿命=0.5)
{
摧毁(游戏对象);
}
}
healthBar.value=当前寿命;
LifeNow.text=“健康:”+currentlife;
}
公共空间损坏(内部损坏)
{
当前寿命-=损坏;
}
}

您有一个公共文本LifeNow变量。在使用LifeNow.text更新文本之前,需要获取预置的文本对象并将其指定给变量

e、 g.
LifeNow=PREFAB.GetComponent()


在回答这个问题之前,我会问你是否在评论中这样做,但是我还没有足够的代表发表评论。

你有一个公共文本LifeNow变量。在使用LifeNow.text更新文本之前,需要获取预置的文本对象并将其指定给变量

e、 g.
LifeNow=PREFAB.GetComponent()


在回答这个问题之前,我会问你是否在评论中这样做,但是我还没有足够的代表发表评论。

想知道关于这个行动的一些代码示例Unity网站有关于如何实现这一点的文档。仅供参考:获取对预置文本对象的引用没有帮助,您需要获取对实例化克隆文本对象的引用。想在此操作上获得某种代码示例Unity网站有关于如何实现此操作的文档。仅供参考:获取对预置文本对象的引用没有帮助,您需要获取对实例化克隆文本对象的引用。
在预置生成后,文本对象将消失。
这是什么意思?[link]()好的,但是在生成它之前它被分配给了什么?仅仅因为某个文本对象存在于某个地方并不能告诉我任何事情。文本对象被分配给原始的“敌人”,但当我没有死亡时,产卵者使用预设创建了一个新的敌人,而没有分配文本对象。想要制作一个脚本,检查“Life Now”框是否为空,如果为空,则分配文本对象。将该字段分配给预制件自己的文本字段。当您将预置的字段指定给一个特定的派生实例时,该实例被销毁时,该引用将丢失。
该预置派生后,文本对象将消失。
这是什么意思?[link]()确定,但在派生之前它被分配给了什么?仅仅因为某个文本对象存在于某个地方并不能告诉我任何事情。文本对象被分配给原始的“敌人”,但当我没有死亡时,产卵者使用预设创建了一个新的敌人,而没有分配文本对象。想要制作一个脚本,检查“Life Now”框是否为空,如果为空,则分配文本对象。将该字段分配给预制件自己的文本字段。当您将预置的字段指定给特定的派生实例时,该引用将在该实例被销毁时丢失。