You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unity程序中打印自定义文本并实现每秒自动更新

Unity 5.6.6f2 文本显示与自动更新实现方案

一、基础文本显示实现

你需要先通过UGUI的Text组件完成文本渲染,操作步骤如下:

  • 顶部菜单栏选择 GameObject -> UI -> Text,引擎会自动生成Canvas画布和Text文本对象
  • 选中生成的Text对象,在Inspector面板可自定义调整字体、字号、颜色、对齐方式、屏幕显示位置
  • 在逻辑脚本中声明public类型的Text变量,将场景里的Text对象拖到对应变量位置完成引用绑定,基础代码示例:
using UnityEngine;
using UnityEngine.UI;

public class CustomTextDisplay : MonoBehaviour {
    // Inspector面板拖入场景中的Text组件
    public Text displayText;
    // 预设要显示的自定义文本
    public string inputText = "你要打印的自定义内容";

    // 如果需要接收运行时玩家输入的文本,额外声明InputField变量绑定场景的输入框组件即可
    // public InputField inputField;
}

二、每秒自动更新文本实现

两种常用实现方案可按需选择:

方案1:InvokeRepeating 实现(最简单)

通过Unity内置的重复调用方法直接固定间隔更新,代码示例:

void Start() {
    // 参数说明:要调用的方法名、启动后延迟多久执行第一次、每次调用的间隔(单位:秒)
    InvokeRepeating("RefreshText", 0f, 1f);
}

void RefreshText() {
    // 直接赋值更新文本内容即可
    displayText.text = inputText;
    // 如果是读取运行时输入框的内容,替换为下面的代码
    // displayText.text = inputField.text;
    
    // 动态内容更新示例:显示游戏运行时长
    // displayText.text = "游戏已运行:" + Mathf.FloorToInt(Time.time) + "秒";
}

方案2:时间差判断实现(适合需要灵活控制启停的场景)

private float timer = 0f;

void Update() {
    timer += Time.deltaTime;
    if (timer >= 1f) {
        timer = 0f;
        // 执行文本更新逻辑
        displayText.text = inputText;
    }
}

现有代码调整参考

你当前编写的代码截图如下:
已编写代码截图
注意:Unity 5.6版本必须引入UnityEngine.UI命名空间,否则会报Text类找不到的编译错误。

内容的提问来源于stack exchange,提问作者Jonathan Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 23:06:03