在脚本中引用 TextMeshPro 时出错
Error when referencing TextMeshPro in Script
我正在从 Text(legacy) 切换到 Unity 中的 TextMeshPro。切换时我尝试使用
public TextMeshProUGUI ScoreText;
但出现此错误:Assets\scrips\gamemanager.cs(17,9):错误 CS0246:找不到类型或命名空间名称 'TextMeshProUGUI'(您是否缺少 using 指令或程序集参考资料?)。
脚本:
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class gamemanager : MonoBehaviour
{
public TextMeshProUGUI ScoreText;
int scoreText = 0;
string ScoreText_string;
public void NextLevel()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}
public void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
public void plusTen()
{
scoreText += 10;
}
void Update()
{
ScoreText_string = scoreText.ToString();
ScoreText.text = ScoreText_string;
}
}
注:编辑器版本2021.3.1f
TextMeshProUGUI
class 驻留在 TMPro
命名空间中。您必须将命名空间 TMPro
与 using
语句一起使用或简单地执行
public TMPro.TextMeshProUGUI ScoreText;
此外,您还必须在项目中导入 TextMeshPro
包。
我正在从 Text(legacy) 切换到 Unity 中的 TextMeshPro。切换时我尝试使用
public TextMeshProUGUI ScoreText;
但出现此错误:Assets\scrips\gamemanager.cs(17,9):错误 CS0246:找不到类型或命名空间名称 'TextMeshProUGUI'(您是否缺少 using 指令或程序集参考资料?)。
脚本:
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class gamemanager : MonoBehaviour
{
public TextMeshProUGUI ScoreText;
int scoreText = 0;
string ScoreText_string;
public void NextLevel()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
}
public void Restart()
{
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
public void plusTen()
{
scoreText += 10;
}
void Update()
{
ScoreText_string = scoreText.ToString();
ScoreText.text = ScoreText_string;
}
}
注:编辑器版本2021.3.1f
TextMeshProUGUI
class 驻留在 TMPro
命名空间中。您必须将命名空间 TMPro
与 using
语句一起使用或简单地执行
public TMPro.TextMeshProUGUI ScoreText;
此外,您还必须在项目中导入 TextMeshPro
包。