我已经搜索并阅读了许多文章,查看了GKTank苹果样例(似乎没有关于我的问题的具体信息,似乎只是按照发生的事件进行处理),但我找不到一个能够回答以下问题的示例或教程:
在蓝牙/互联网上的多人游戏中,如何同步玩家交互,以便考虑延迟等因素,从而出现正确的游戏结果...
例如:
在通过蓝牙连接的两个独立设备上,向每个玩家A和B显示一个按钮
玩家A按下按钮(玩家A是主机,因此延迟不是问题) 玩家B比玩家A稍微晚一些按下按钮,但他与玩家A的设备之间的网络延迟至少为200毫秒
问题:游戏需要知道玩家B先按下按钮,即使玩家A的触摸请求会先到达游戏代码 - 即主机玩家没有优势。
我知道触摸事件有时间戳,所以我可以确保从玩家B发送实际按下的时间到游戏代码...但不确定这是否是正确的方法,如果是的话,从哪里开始...
我预计答案在某些游戏时间周期中,触摸不会立即被处理,而是在游戏周期内处理...
任何关于此问题的帮助或指向处理此问题的特定源代码的教程都将不胜感激。
亚当
在蓝牙/互联网上的多人游戏中,如何同步玩家交互,以便考虑延迟等因素,从而出现正确的游戏结果...
例如:
在通过蓝牙连接的两个独立设备上,向每个玩家A和B显示一个按钮
玩家A按下按钮(玩家A是主机,因此延迟不是问题) 玩家B比玩家A稍微晚一些按下按钮,但他与玩家A的设备之间的网络延迟至少为200毫秒
问题:游戏需要知道玩家B先按下按钮,即使玩家A的触摸请求会先到达游戏代码 - 即主机玩家没有优势。
我知道触摸事件有时间戳,所以我可以确保从玩家B发送实际按下的时间到游戏代码...但不确定这是否是正确的方法,如果是的话,从哪里开始...
我预计答案在某些游戏时间周期中,触摸不会立即被处理,而是在游戏周期内处理...
任何关于此问题的帮助或指向处理此问题的特定源代码的教程都将不胜感激。
亚当