在预制体Card上挂载了四个Text Mesh Pro组件,分别命名为Name、HP、ATK、Description。

将预制体Card挂载脚本CardDisplay用来在预制体上显示属性,并创建TextMeshPro对象来接收TextMeshPro组件。
cs
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class CardDisplay : MonoBehaviour
{
// 创建卡牌的卡名、生命、攻击、描述的Text组件
[SerializeField] public TextMeshPro nameText;
[SerializeField] public TextMeshPro HPText;
[SerializeField] public TextMeshPro ATKText;
[SerializeField] public TextMeshPro descriptionText;
}
保存后,返回Unity中,发现无法将Name、HP、ATK、Description游戏物体拖入对应的框中。

解决方法:在脚本CardDIsplay中,将组件类型修改为TMP_Text。
cs
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class CardDisplay : MonoBehaviour
{
// 创建卡牌的卡名、生命、攻击、描述的Text组件
[SerializeField] public TMP_Text nameText;
[SerializeField] public TMP_Text HPText;
[SerializeField] public TMP_Text ATKText;
[SerializeField] public TMP_Text descriptionText;
}
保存后,返回Unity中,发现可以将Name、HP、ATK、Description游戏物体拖入对应的框中了。

本章完。感谢阅读!