机器翻译正文由机器翻译自项目原始文档(英文),排版经程序统一处理,可能存在偏差,请以原项目仓库为准。
Phaser 3 - 带物理的实时多人游戏示例
一个使用 Phaser 3 的实时多人示例,带有物理引擎(MatterJS 和 Arcade),在 NodeJS 服务器上使用 Express 和 Socket.io
⚠️ 注意
这个示例使用了 @geckos.io/phaser-on-nodejs ,它非常慢且繁琐。如果你需要在服务器上运行 Phaser 的 Arcade 物理,我建议使用 arcade-physics 。我将不再更新这个示例。
播放它
此示例在 Heroku 上的 NodeJS 上运行(欧洲免费 Dyno),这导致示例有时需要 大约 1 分钟才能加载。
- 在这里试玩 - phaser3-multiplayer-example 如果您的延迟低于 100ms,效果最佳,如果您位于欧洲,通常会是这种情况。
主要特点
- 物理完全在服务器上计算
- 自动管理房间(新的 Phaser 实例)
- 物理调试版本
- 一个漂亮的统计页面
壁虎.io
为什么这个游戏示例不使用 geckos.io?嗯,有两个原因:
- 当时 geckos.io 并不存在。
- 这个示例部署在 Heroku 上,而 Heroku 不允许转发 UDP 端口,而 geckos.io 依赖此功能。
视频
在 YouTube 上观看
真实物理与街机物理
这个示例包含两个不同的游戏。一个使用 MatterJS,另一个使用 Arcade。MatterJS 游戏只有一个关卡。Arcade 游戏是一个简单的平台游戏,有三个关卡。
所以总共有四个不同的关卡可以玩。对于每个关卡,服务器会创建一个新房间,这会创建一个新的 Phaser 实例,并且彼此完全隔离。每个房间最多可以有四个玩家。
结构
├── src
│ ├── client # Contains all the code the client will need
│ ├── physics # This is for debugging the physics (Arcade and MatterJS)
│ ├── server # Contains the code running on the NodeJS server
│ └── stats # The stats page will show useful information about the server
使用方法
要克隆并运行此模板,您需要在计算机上安装 Git 和 Node.js(其中包含 npm)。
您还需要安装一些额外的软件包,因为此示例使用了 Node-Canvas。请参见 这里。
在命令行中:
# Clone this repository
$ git clone --depth 1 https://github.com/yandeu/phaser3-multiplayer-with-physics.git phaser3-example
# Go into the repository
$ cd phaser3-example
# Install dependencies
$ npm install
# Start the local development server (on port 3000)
$ npm run dev
# To publish a production build using docker use docker:publish
# This needs docker and docker-compose to be installed on your machine
$ npm run docker:publish
其他多人游戏示例
正在寻找更简单的多人游戏示例?请查看 Phaser 3 - 多人游戏示例。
许可证
麻省理工学院许可 (MIT) 2019 - Yannick Deubel。请查看 LICENSE 了解更多详情。
本站来源与版权声明
- 本文标题:phaser3-multiplayer-with-physics - Phaser 3 - 使用物理(MatterJS和A
- 本文链接:https://www.cn121.com/webgame/yandeu-phaser3-multiplayer-with-physics.html
- 原项目:yandeu/phaser3-multiplayer-with-physics 版权归原作者 yandeu 及贡献者所有
- 收录信息:本站于 2026-10-01 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 MIT(查看 LICENSE 原文),本站译文为其衍生内容;使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 yandeu/phaser3-multiplayer-with-physics。
- 翻译说明:本页正文为人工智能生成内容——由机器翻译对原项目 README 初译、经程序校验排版,可能存在错漏,请以原项目文档为准。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。