-1

我有一个在线 3D 多人游戏,它使用插件将自己嵌入到网页中,我试图弄清楚如何在不转向 Flash 的情况下为它制作一个基于网络的大厅。

这个想法是,登录的玩家在页面上选择一种游戏类型,然后自动被带到一个开放的大厅,最多可以接受x名玩家。大厅是一个网页,用户可以在其中选择他们的皮肤和升级。一旦第x位玩家加入,大厅应该开始倒计时,成功完成后会将所有用户重定向到另一个页面,该页面加载嵌入式游戏并将这些用户一起带到同一服务器。

如果用户在计时器结束之前退出大厅/页面,则需要停止倒计时并且大厅必须等待房间再次满员。我不确定如何做这部分,因为我似乎需要一些服务器端计时器对象,它知道玩家何时离开。我正在考虑使用WebSync与大厅页面中的每个用户进行交流,以了解当前有多少玩家在大厅中,并且我假设我也可以使用它来发送命令以将用户引导到新页面成功的计时器倒计时。我还想我可以使用 WebSync 或其他东西让我的服务器知道有人何时离开大厅以停止倒计时。

如何创建此服务器端计时器以及如何与之交互?我正在考虑使用Quartz.Net来访问调度程序或其他东西,但我还不确定。

有任何想法吗?

4

1 回答 1

1

您可以选择使用 WebSockets 吗?您将能够(或多或少立即)观察状态变化并根据事件更新客户端和服务器。

您可以在预定义的时间从服务器发送大量数据,并在客户端上运行 javascript 以将用户踢到新页面/在计时器结束时(或玩家离开或加入游戏)执行某些操作。)

(插件:我和一个朋友编写了一个 C# 库,其中包含一个有效的实时聊天示例,可在此处找到:https ://github.com/Olivine-Labs/Alchemy-Websockets )

于 2011-06-01T18:13:05.167 回答