Widget修改总是只能成功一次

节点参考,

代码参考:

意图
通过 _Player脚本(绑定在playerInfoPrefab节点)生命周期方法(update)实时刷新玩家 hpVal[Sprite] 节点的 Widget.right, 从而实现HP变化.

实验结果
_Player.onLoad 中修改有效, 但只能生效一次, 使用 setInterval 实验结果: 语句能执行, UI未刷新
_Player.update 中修改, 只能生效一次, 后续执行无效, 已监控数据确实在变化

  • Creator 版本:v1.8.2
  • 目标平台:Web
  • 详细报错信息,包含调用堆栈:console无错误记录
  • 重现方式:-/-
  • 编辑器操作系统:win10
  • 编辑器之前是否有其它报错:无
  • 额外线索:

请帮助解惑, 谢谢!

代码截图中有错误, 源码地址已经修复, 但是问题任然存在.

为此, 我能想到的办法就是把容器节点清空, 然后再重新追加新的节点

widget改變值後, 可以執行一次updateAlignment試試

你的 demo 太复杂了,我都不知道要怎么运行游戏?你确认下是不是 isAlignOnce 为 true 了?或者再给我个简单点的 demo?

image 出现的同样的问题, 通过修改align mode 为always 解决问题,默认是on window size