-1

プラグインを使用して Web ページに埋め込むオンライン 3D マルチプレイヤー ゲームがあり、Flash に頼らずに Web ベースのロビーを作成する方法を見つけようとしています。

サインインしたプレーヤーがページでゲームの種類を選択すると、最大xプレーヤーを受け入れるオープン ロビーに自動的に移動するという考え方です。ロビーは、ユーザーが自分のスキンとアップグレードを選択できる Web ページです。x番目のプレイヤーが参加するとすぐに、ロビーはカウントダウンを開始する必要があります。カウントダウンが正常に完了すると、すべてのユーザーが別のページにリダイレクトされ、埋め込みゲームが読み込まれ、それらのユーザーが一緒に同じサーバーに移動します。

タイマーが終了する前にユーザーがロビー/ページから戻った場合、カウントダウンを停止する必要があり、ロビーは部屋が再びいっぱいになるまで待機する必要があります。プレイヤーが離れたことを認識しているサーバー側のタイマー オブジェクトが必要なように思われるため、この部分を行う方法がわかりません。WebSyncを使用して、現在ロビーにいるプレーヤーの数について、ロビー ページの各ユーザーと通信することを検討しています。これを使用して、ユーザーを新しいページに起動するコマンドを送信することもできると想定しています。成功したタイマー カウントダウン。また、WebSync などを使用して、カウントダウンを停止するために誰かがロビーを離れたことをサーバーに知らせることもできると思います。

このサーバー側タイマーを作成するにはどうすればよいですか? また、どのように操作しますか? Quartz.Netを使ってスケジューラーにアクセスするか何かを考えていますが、まだよくわかりません。

何か案は?

4

1 に答える 1

1

WebSocket を使用するオプションはありますか? 状態の変化を(多かれ少なかれ即座に)監視し、イベント時にクライアントとサーバーの両方を更新できます。

事前定義された時間にサーバーからデータのチャンクを送信し、クライアントで JavaScript を実行して、ユーザーを新しいページに移動させたり、タイマーが終了したときに何かを実行したりできます (または、プレイヤーがゲームを離れたりゲームに参加したりします)。

(プラグイン: 友人と私が C# ライブラリを作成し、実際のライブ チャットの例を以下に示します: https://github.com/Olivine-Labs/Alchemy-Websockets )

于 2011-06-01T18:13:05.167 に答える