首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从脚本中更新设置UI还会触发方法来更新UI交互中的设置

从脚本中更新设置UI还会触发方法来更新UI交互中的设置
EN

Game Development用户
提问于 2021-04-25 19:23:03
回答 1查看 115关注 0票数 0

我的应用程序有一个用于设置的UI,它是文本框和滚动条的混合体,用户可以与其交互。我已经为这些设置创建了一个类,并创建了一个对象来存储它们。用户还可以给出命令行参数,以便从文件中应用设置。

我有一个函数从对象(即从文件中读取)将这些数据加载到UI中,还有一个函数在用户更改UI时更改对象数据。

我的问题是:如果我将文件中的数据加载到UI中,负责在UI中反映这些更改的函数就会触发,但另一个函数也会触发,因为UI已经发生了更改。

那么,我应该做些什么来克服这个问题呢?我应该实现某种状态机制来告诉代码用户已经进行了更改,或者设置了一些标志来标记数据是从文件中加载的。如果你能建议一些设计模式来遵循呢?

EN

回答 1

Game Development用户

回答已采纳

发布于 2021-04-25 22:01:41

我对我的意见作了详细说明,作为答复:

许多Unity组件(以及它们的文本Mesh Pro对应方)包括一个SetValueWithoutNotify方法。这使您可以使用新显示的值更新小部件--就像播放机自己输入或选择了它一样--但无需调用代码可能侦听的任何onValueChanged事件,以便在幕后更新数据模型。

看吧。

通过这种方式,您可以从数据模型中更新UI的显示状态,而无需创建一个反馈循环,其中UI调用一个回调,该回调立即尝试将新的UI值写回它来自的模型。

票数 0
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/191846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档