我正在进行实时多人游戏,其中2名玩家可以互相对战。玩家通过蓝牙连接他们的设备。设备A连接到设备B(反之亦然)。游戏有倒计时时钟。我我努力同步倒计时钟,以便两个玩家同时开始玩游戏。这是由于蓝牙延迟造成的。这种延迟有时会从几毫秒到1-2秒不等。
我应该采取什么方法来解决这个问题?
现在我有以下过程:
- player A and player B are connected through bluetooth
- Player A goes into "ready" state by pressing the ready button.
- message gets send to player B informing that player A is ready
- Player B goes into "ready" state by pressing the ready button.
- message gets send to player A informing that player B is ready.**
- when both players ready, the count down begins.
**因为“准备好”的消息稍微延迟到达玩家A,玩家B的倒计时已经开始,因为它只需要更新本地状态变量。
答案 0 :(得分:0)
如果两个设备时钟都针对同一个网络源进行同步,那么您可以让它们在将来的明确时间内达成一致,以便倒计时结束而不是尝试“相对于现在的x秒”。大多数设备会自动与相同的网络时间同步。