Scratch 中的 ID:云变量

IDs in Scratch: Cloud Variables

我有一个 multiplayer project,它有一些永远的循环,其中包含检查代码。 block of code][![block of code

问题是,由于变量 dvotesuvoteslvotes 滞后,多台计算机可能会处理此问题并更改 crabxcraby , 或 rvotes。不过,只有一台机器可以更改此设置。

这可以通过给每个玩家一个 ID 来轻松解决,就像 SQL 中的许多人所做的那样。我只想检查 ID 是否为 1,即 "operating machine"。然后我会在那台机器上做所有这些检查。如果您可以编程,它会做 Scratch 服务器会做的事情...

问题在于无法检测玩家何时离开游戏。没有名为 "on exit" 或 "on stop button pressed" 的块。我该怎么做呢?我看到有人有一个按钮,人们点击退出按钮,但有些人不会点击 it/not 甚至看不到它。

提前致谢!

选项 1

我自己在云数据方面从未取得过特别成功,但我之前听说过这方面的理论:

基本上,每个玩家都会得到一个"counter"。然后他们的计算机不断增加该计数器。如果计数器停止增加(这将被其他计算机检测到,它们互相照顾),该项目将知道用户已经离开,其中一台计算机将负责删除他们的 ID 和其他数据。

显然,这说起来容易做起来难。 (正如我所说,我从未获得过适合自己的复杂云数据,但我已经看到它成功完成并得到了解释。)

选项 2

或者,您最好利用由 MegaApuTurkUltra 创建的 this cloud api。我发现从别人那里窃取往往是解决代码问题的最佳方法。 ;)