无法将 UI 文本对象附加到 Unity 5.0.2f1 中预制件上的序列化字段

Cannot attach UI Text object to serialized field on Prefab in Unity 5.0.2f1

Mac 使用 Unity 5.0.2f1。

在场景中创建了一个 UI 文本对象(名为 LifeCountUI)。然后,在我的玩家脚本(附加到我的玩家游戏对象)上,我序列化了以下字段:

[SerializeField]
public Text LifeCountText;

这个 Player GameObject 也是一个预制件。

我的目的是将检查器中的 LifeCountUI 拖到 Player GameObject 的序列化字段中。但是,当我 select Player 预制件时,Unity 不允许我这样做。

如果我将 Player 预制件的实例拖到场景中,然后将 LifeCountUI 拖到字段中(但显然,那不是预制件),它才有效。

我是不是做错了什么?我基本上希望能够从预制实例控制文本字段。

看看大师们在著名的 50 Tips for Working with Unity (Best Practices) 文章中是怎么说的:

  1. Link prefabs to prefabs; do not link instances to instances. Links to prefabs are maintained when dropping a prefab into a scene; links to instances are not. Linking to prefabs whenever possible reduces scene setup, and reduce the need to change scenes.

这是您无法维护参考的原因之一。