【问题标题】:Why is my Scratch Cloud Variable not Updating?为什么我的 Scratch Cloud 变量没有更新?
【发布时间】:2020-03-30 21:03:26
【问题描述】:
我正在制作一个多人游戏,可以在这里找到:project. 它有以下脚本,在主要脚本之前。我彻底测试了这个脚本,但它似乎不起作用。出于某种原因,尽管我的云变量应该每 0.2 秒更新一次,但在另一个浏览器上它不会在 5 秒内改变。发生了什么,我该如何解决?
当绿旗被点击时
将 [tick_p1 v] 设置为 (☁p1)
将 [tick_p2 v] 设置为 (☁p2)
等待 ( 5 ) 秒
如果 那么
将 [ (g) player v] 设置为 (1)
别的
如果 那么
将 [ (g) player v] 设置为 (2)
别的
停止 [这个项目中的每一件事 v]
结尾
结束
【问题讨论】:
标签:
variables
mit-scratch
【解决方案1】:
这可能是由于网络滞后。暂存云变量通常会出问题,并且需要花费大量时间来更新。我知道这可能不是您正在寻找的答案,但是使用从头开始制作一个立即更新的在线多人游戏非常困难,如果不是不可能的话。如scratch wiki article中所述:
“为避免云数据基础架构过载,当项目运行时,云数据更新被限制为每秒一定数量。应始终避免尝试在不等待更新之间的快速循环中更新云变量. 一般来说,人们应该仔细考虑云变量的更新频率,并尝试将任何更新限制在需要的时间,例如值实际更改的时间,并限制变量的更新频率。”
换句话说,云变量不能快速更新,更适合保存数据,例如用于高分的用户名,而不是实时在线多人游戏。
【解决方案2】:
云变量有限制,例如,您不能在云变量中存储字母和符号。此外,云变量总是需要很长时间才能重新加载,就像我在草稿游戏中尝试的那样。它更适合用于跟踪 WR 而不是加密的帐户变量。还有一个有趣的事实:griffpatch 的多人游戏不再工作了