渐进式编程课
虚幻引擎 目录
第 19 课2026.09.28

让第 18 课筛选出的课程数量显示在正式游戏界面,而不只在调试文字中出现。

第 19 课:在 UMG 文字中显示筛选数量

  • 日期:2026-09-28
  • 课程序号:第 19 课
  • 知识点:将已有 Text 结果交给 UMG TextBlock

用途或适用场景

让第 18 课筛选出的课程数量显示在正式游戏界面,而不只在调试文字中出现。

核心概念

UMG Widget Blueprint 可放置 TextBlock;它的 SetText (Text) 接收上一课 To Text (Integer) 的结果。要显示 Widget,还需在已有 Level Blueprint 中创建并加入视口;这是一组不可拆的最小 UI 显示链。

最小代码或操作示例

text
1. 新建 Widget Blueprint「WBP_LessonCount」,在 Designer 放入 TextBlock「CountText」并勾选 Is Variable。
2. 在 WBP_LessonCount Graph 建立自定义事件 ShowCount(输入 InText: Text),连接 CountText → SetText (Text) 的 In Text。
3. 在已有 Level Blueprint 中,沿用第 18 课 MinMinutes=10 的 Length → To Text (Integer);
   BeginPlay → Create Widget(Class=WBP_LessonCount)→ Add to Viewport,
   从创建结果调用 ShowCount,将 To Text (Integer) 的结果接到 InText。

3~5 分钟练习

把 MinMinutes 改为 0,再运行并观察界面数字。

参考答案

沿用第 17 课两条已完成课程的例子,原先界面显示 1,改为 0 后显示 2;不要同时给 CountText 设置 Text 绑定,因为 SetText 会覆盖绑定。

与上一课的联系

沿用第 18 课的 GetCompletedLessons、Length 与 To Text (Integer) 输出;本课只把调试显示改为 Widget 中的 TextBlock 显示;下一课可在筛选条件变化时再次更新同一个 Widget,而不重复创建。

时效校验

时效校验:2026-09-28(已核对 Unreal Engine 5.8 官方 Creating Widgets 与 UTextBlock::SetText API;SetText 为 BlueprintCallable,文档明确会覆盖 Text 属性绑定;未见废弃标记)。

官方参考