Unreal5从入门到醒目之在编辑器中更新 UserWidgets

宁睿  金牌会员 | 2025-2-18 17:22:49 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 941|帖子 941|积分 2833

前言

在虚幻中创建越来越复杂和灵活的 UserWidget 蓝图时,一个问题是它们在编辑器中的表面与它们在游戏中的终极表面可能有很大不同。
库存面板示例

假设你想创建一个通用的库存显示小部件。我们可以在整个 UI 中使用它,无论我们需要在那里显示某些内容。


  • 标题,形貌所显示项目的类别
  • 由X 列和Y 行组成的网格。
  • AUserWidget代表单个项目,我们将在网格中显示它。
默认环境下,假如您UUserWidget在蓝图中将其创建为子类,则在编辑器中它可能看起来像一个空的小部件,标签显示其默认的占位符文本。
请注意,我们可以添加一个公共变量来定义小部件在游戏中设置的标题、行数和列数,但编辑器中的表面险些是空的。
另一方面,在游戏中,此小部件的巨细和表面将完全改变。其标签将被更新,并将由库存物品小部件填充以显示每个物品。
我们可以用 C++ 解决这个问题,让小部件在编辑器中更新。关键是SynchronizeProperties中的函数UUserWidget。在编辑器中,每次修改属性或编译蓝图时都会调用它。我们可以覆盖它并在里面使用它来初始化我们的用户小部件,就像在游戏中设置它一样。
InventoryPanelWidget.h
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表