分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

phaserjs/phaser

游戏

一个用 JavaScript 或 TypeScript 开发 2D HTML5 游戏、可运行于浏览器并可封装到多平台的游戏框架。

40,603
7,185
JavaScript
MIT
创建于 13 年前

Phaser 是一个采用 MIT 许可证的 2D HTML5 游戏框架,通过 Canvas 或 WebGL 在桌面与移动浏览器中渲染。它适合希望直接使用场景、物理、输入、动画与资源加载等现成能力、而不是从通用渲染器自己搭建的 JavaScript 或 TypeScript 开发者。

功能与工作机制

开发时围绕 Phaser 的场景式 API 编写游戏逻辑:场景、资源加载器、Arcade 与 Matter.js 物理、瓦片地图、粒子、补间、相机与输入处理。框架与前端技术无关,README 称支持包括 React、Vue 在内的 40 多个前端框架,并提供完整的 TypeScript 类型定义,编辑器可自动识别(Phaser README、TypeScript 类型目录)。

Phaser 4 用基于节点的渲染器替换了 v3 的 WebGL 管线,引入统一的 Filter 系统处理特效与遮罩,并新增 SpriteGPULayer 与 TilemapGPULayer,以单次 draw call 渲染大量精灵与瓦片。这些是作者描述的特性,并非独立基准测试;实际含义是动态背景和大尺寸地图不必再占用主要帧预算。

上手方式

npm 方式安装后直接 import;不使用打包工具的项目可通过 jsDelivr 或 cdnjs 的 script 标签加载指定版本(npm 包、README 安装方式)。脚手架 create-phaser-game 提供官方模板与示例游戏,覆盖 Vue、React、Angular、Next.js、SolidJS、Svelte、Remix 搭配 Vite、Rollup、Parcel、Webpack、ESBuild 或 Bun,多数有 JavaScript 和 TypeScript 两个版本(create game app 教程)。另有浏览器内 Sandbox,但保存条目需要免费账号(Sandbox、注册)。

浏览器游戏的体积很重要:完整压缩构建为原始 1.29 MB、gzip 后 345 KB,另有更小的 Arcade 专用构建,并可通过构建设置剔除不需要的功能。未压缩的大文件主要是内联文档和 TypeScript 定义。

发布目标与前提

游戏运行在桌面和移动浏览器中。README 还列出 YouTube Playables、Discord Activities、Reddit 游戏与 Twitch 叠加层,并说明可通过第三方工具编译到 iOS、Android、Steam 和原生应用——这些封装工具不在本仓库内,需要单独评估。开发使用 JavaScript 或 TypeScript,并需要构建或 CDN 环境;文档未给出操作系统限制,纯浏览器 Sandbox 路径只需桌面浏览器。

从 Phaser 3 迁移

v4 保留了大部分公开 API,但有破坏性变更:渲染器、色调系统、FX/Masks、Shader API 与光照,以及 Point、Mesh、BitmapMask 等类的移除。项目提供了迁移指南和面向 AI 编程代理的迁移技能(v4 迁移指南、迁移技能)。因此 v3 的教程与插件需针对 v4 重新验证,并查阅目标版本的更新日志(更新日志)。

README 还附带覆盖各子系统的 AI 代理技能(skills 目录),属于可选的文档辅助,不是运行时依赖。

HotRepo 点评

Star 数和单日热榜记录不足以说明势头或质量。更值得关注的是 MIT 许可证、持续已久的 v3 到 v4 过渡,以及渲染器重写——对已有游戏而言,迁移规划才是主要的实际成本。

本文由 AI 根据项目 README 生成,更新于 2026年10月30日,以项目官方文档为准。