问题标签 [tabletop-simulator]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
lua - LUA 以错误的顺序执行代码 - 可能与桌面模拟器相关
我对 LUA 还很陌生,仍在学习。到目前为止,我还没有遇到任何异步功能,但我的代码似乎表现得这样。这真的很奇怪。我有以下功能:
getWeapons(attacker)
如果我删除具有的行(我将在接下来解释),该功能将按您预期的方式工作。它非常基本,它只是获取一个字符串,对其进行解析然后将其存储在stats
变量中。最后 3UI
行然后根据这些统计数据更新我的 UI 中的 3 个值。当我说这非常有效时,你必须相信我。
问题开始的地方是当我添加getWeapons(attacker)
上述内容时,它还会更新这些UI
值(实际上它会将它们重置为一些默认值)。但是,最后 3 行显然意味着要覆盖任何getWeapons(attacker)
集合。但事实并非如此。假设起始 UIBS
值为 1,getweapons()
将其更新为 2,然后将其UI.setAttribute("model_BS", "text", BS)
更新为 3;这正是我观察到的:它从 1 开始,然后(非常简短地)更新到 3,然后更新到 2。
就好像它以异步方式运行。有没有人见过这个或者可以建议我如何让 LUA等到函数getweapons()
完成?
编辑:我自己修复了它,我使用的是内置的等待功能......但看起来,它实际上并没有等待。我删除了它,现在它可以工作了。真的很奇怪,因为我必须首先添加它,因为 UI 更新不够快。