无法将 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) 文章中是怎么说的:
- 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.
这是您无法维护参考的原因之一。
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) 文章中是怎么说的:
- 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.
这是您无法维护参考的原因之一。