首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Socket.IO处理开放世界中的多玩家移动

Socket.IO处理开放世界中的多玩家移动
EN

Stack Overflow用户
提问于 2016-12-30 16:02:12
回答 1查看 358关注 0票数 0

我正在为一个使用Unity5构建的开放世界游戏构建一个多玩家服务器,我选择了Socket.IO作为实时框架,因为我比任何其他实时框架都更了解它。

我如何存储每个活动玩家的插座,这样我就可以根据每个玩家离线的距离对他们进行排序。(例如,只将移动中的球员位置更新给附近的球员,而不是发送给服务器上的所有球员)?

EN

回答 1

Stack Overflow用户

发布于 2016-12-31 04:06:57

对我来说,这听起来更像是数据结构问题。脑海中浮现的一个简单方法是:

Zones -这是一个游戏中空间的区域分解

Player -这代表一个人在玩

Socket -与给定播放器进行通信的方式

播放器应该具有对套接字的引用以进行通信。player.SendMessage("hey there");

一个区域应该有一个玩家列表

代码语言:javascript
运行
复制
zonePlayers = new List<Player> Players();

如果要通过整个区域广播消息,只需迭代球员列表并将该消息发送给每个球员。

代码语言:javascript
运行
复制
foreach (Player player in Players) {
  player.SendMessage(msg);
}

弄清楚如何向玩家发送消息。弄清楚如何在逻辑上将玩家分组在一起。

我刚读到关于Socket.IO的报道,他们已经有房间了。如果你为每个区域定义了一个房间,并且只有一个玩家注册了该房间,并在他们整个/离开该区域时离开了该房间-你可以利用已经内置的功能来给群发消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41392781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档