c# - TextMesh Pro 文本不会通过脚本更改
问题描述
我似乎无法通过脚本更改我的 TextMeshPro 值。在我的检查器中,我有一个名为 Countdown 的 TextmeshPro 对象。我有一个名为 GameController 的脚本,它附在上面。
然后我的脚本将 Countdown 的字符串值设置为 Hello,但它不起作用。
游戏控制器
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
public class GameController : MonoBehaviour {
public TextMeshProUGUI Countdown;
// Use this for initialization
void Start () {
Countdown = GetComponent<TextMeshProUGUI> ();
Countdown.text = "Hello";
}
// Update is called once per frame
void Update () {
}
}
在检查器中有一个 TextMesh 字段,但由于某种原因我无法将 CountDown 对象拖到这里,这可能是问题吗?
解决方案
问题是您使用的是常规 TextMeshPro 对象,并且在您的代码中您正在寻找 TextMeshProUGUI,这是一个简单的错误。将代码更改为:
public class GameController : MonoBehaviour {
public TextMeshPro Countdown;
// Use this for initialization
void Start () {
//you shouldnt need to get component the editor should take care of this for you when
//you drop it since you have the object set to TextMeshPro and not just GameObject
Countdown = GetComponent<TextMeshPro> ();
Countdown.text = "Hello";
}
// Update is called once per frame
void Update () {
}
}
制作 TextMeshProUGUI 对象的唯一方法是通过画布添加它。在您的场景中,当您仅添加 TMP 时,它将是您的“倒计时”所在的常规 TMP。你可以知道,因为它使用 TMP 脚本而不是 TMPUGUI 脚本。
推荐阅读
- http - IP是如何拆分的?
- php - Woocommerce 自动添加到特定产品的购物车功能
- c# - 强制参数化
- typescript - TypeScript 错误地定义了类型
- angular - 如何使用 Jasmine 在 Angular 中测试我的服务?
- vue.js - [Vue 警告]:无法解析组件:ButtonElement at
参考=参考<未定义>> - wix - Wix Bootstrapper 如何以与安装顺序不同的顺序卸载软件包
- node.js - npm gpio 错误的初始化 gpio pin 值
- hybris - 如何在 Hybris 中使用 RotatingImagesComponent?
- docker - 是否可以使用 docker windows 容器中的 TBS 访问 docker windows 主机的 TPM?