私は、blobby volley(2つのゼリーがバレーボールをしている)のようなオンラインHTML5ゲームを作成します。私はphp上にwebsocketサーバーを持っています。ゲームは50fpsで実行されています。仕組みの例を次に示します。右矢印ボタンを押すと、クライアントがmoveForward
フラグを設定true
してサーバーにメッセージを送信します。サーバーはメッセージを他のクライアントに転送し、このクライアントがメッセージを処理します。クライアントが処理keyup
するときも同じことを行いますが、moveForward
フラグをに設定しfalse
ます。問題は、サーバーがメッセージをクライアントに転送するのに時間がかかることです。そのため、キーアップイベントがトリガーされると、ゼリーは一方のクライアントではすぐに停止しますが、もう一方のクライアントでは移動し続け、1秒以内に停止します。それをより同期させる方法はありますか?
質問する
446 次
2 に答える
0
アクションを送信する代わりに、位置を送信するだけでより正確になりますが、それでもわずかな遅れがあると思います。
于 2013-01-21T14:19:53.193 に答える
0
ゲームプレイでサーバーを省略して、ブラウザ間のピアツーピア通信にしたい場合があります。
私はこれについて個人的な経験がないので、この質問へのリンクを提供するのが最善です。最近、ほとんどのブラウザーに WebRTC のサポートが追加されたようです。
于 2012-07-21T11:25:13.937 に答える