第 19 课2026.09.28
让第 18 课筛选出的课程数量显示在正式游戏界面,而不只在调试文字中出现。
第 19 课:在 UMG 文字中显示筛选数量
- 日期:2026-09-28
- 课程序号:第 19 课
- 知识点:将已有
Text结果交给 UMGTextBlock
用途或适用场景
让第 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 属性绑定;未见废弃标记)。