我有一个multiplayer project,它有一些永远的循环,里面有检查代码。
问题是,由于变量crabx
,craby
,dvotes
或者变量滞后,多台计算机可能会对此进行处理并更改uvotes
或lvotes
。 rvotes
。但是,只有一台机器应该改变它。
通过为每个玩家提供像许多人在SQL中所做的ID一样,可以轻松解决这个问题。我只是检查ID是否为1,那将是“操作机器”。然后我会在那台机器上进行所有这些检查。如果您可以编程,它会做Scratch服务器会做的事情......
问题在于没有办法检测玩家何时离开游戏。没有被称为“退出”或“按下停止按钮”的块。我该怎么做呢?我看到人们有一个按钮,人们点击退出,但有些人不会点击它/甚至没有看到它。
提前致谢!
答案 0 :(得分:4)
选项1
我自己从未对云数据特别成功,但我之前已经听过这个理论:
基本上,每个玩家都有一个"计数器"。然后他们的电脑不断增加那个计数器如果计数器一直停止增加(将由其他计算机检测到,所有其他计算机都会相互关注),项目将知道用户已离开,其中一台计算机将负责删除其ID和其他数据。
显然,这说起来容易做起来难。 (正如我所说,我从来没有让复杂的云数据为我自己工作得很好,但我已经看到它成功完成并解释了。)
选项2
或者,您可能最好利用MegaApuTurkUltra创建的this cloud api。我发现,在代码方面,从其他人那里偷窃往往是解决问题的最佳方式。 ;)