Phaser 是一个快速、免费且有趣的开源 HTML5 游戏框架,可在桌面和移动网页浏览器上提供 WebGL 和 Canvas 渲染。游戏可以通过第三方工具编译为 iOS、Android 和原生应用。您可以使用 JavaScript 或 TypeScript 进行开发。
除了出色的开源社区外,Phaser 还由 Phaser Studio Inc 积极开发和维护。由于快速的支持和开发者友好的 API,Phaser 目前是 GitHub 上最受欢迎的游戏框架之一。
从独立开发者到跨国数字机构,以及全球各地的大学都在使用 Phaser。看看我们的展示视频中他们令人难以置信的游戏:
访问 Phaser 网站<br /> 玩 一些令人惊叹的游戏<br /> 学习 浏览我们的 API 文档、[支持论坛][forum]和 StackOverflow<br /> 代码示例? 我们有超过 2000 个示例供您学习<br /> 阅读 每周的 Phaser World 通讯<br /> 社交: 加入我们的 Discord 和 Reddit 或在 Twitter 上关注我们<br />
获取源代码,加入其中的乐趣!
2024年6月21日
Phaser Studio 团队一直在努力开发 v3.85 版本,该版本今天进入了 beta 阶段。这个版本在 v3.80 的基础上进行了改进,带来了更多的修复和更新。我们感谢 Phaser 社区在报告问题和提交 pull 请求方面的帮助。你们总是让我们保持警惕 🙂
与此同时,我们也一直在忙于开发一个替代物理引擎和一个全新的渲染器,它们是从头开始构建的,目的是为 2D 网页游戏提供尽可能高效和强大的功能。在我们的每周通讯 Phaser World 中跟踪所有进展。
Phaser 在 GitHub 上的星标数量也达到了 36,500,被超过 34,600 名开发者使用。这些数字证明了越来越多的开发者将 Phaser 作为他们首选的网页游戏开发框架。我们感谢收到的支持和反馈,并承诺继续发展 Phaser 以满足您的需求。
没有社区的大力支持,Phaser 是不可能实现的。感谢所有支持我们工作的人,感谢那些和我们一样相信 HTML5 游戏未来的人,以及 Phaser 在其中扮演的角色。
祝大家编码愉快!
问候,
Rich 和 Phaser Studio 团队<br> @photonstorm
<a name="download"></a>
Phaser 可通过 GitHub、npm 和 CDN 获取:
通过 npm 安装:
npm install phaser
快速开始使用 Phaser 的最简单方法之一是使用我们新的 create-phaser-game
应用。这是一个 CLI 工具,提供了官方项目模板和演示游戏的交互式选择。只需发出命令,回答一些问题,应用就会下载并配置适合您需求的正确包。
目前,我们支持以下所有框架和打包工具:
框架 | 打包工具 |
---|---|
Vue.js | Vite |
React | Rollup |
Angular | Parcel |
Next.js | Webpack |
SolidJS | ESBuild |
Svelte | Import Map |
Remix | Bun |
这些大多都有 JavaScript 和 TypeScript 版本。
Phaser 在 jsDelivr 上,这是一个"面向开发者的超快速 CDN"。在您的 html 中包含以下内容:
<script src="//cdn.jsdelivr.net/npm/phaser@3.80.1/dist/phaser.js"></script>
或压缩版本:
<script src="//cdn.jsdelivr.net/npm/phaser@3.80.1/dist/phaser.min.js"></script>
访问 https://newdocs.phaser.io/ 在线阅读文档。使用链接导航命名空间、类和游戏对象列表,也可以使用搜索框。
Phaser 的文档是一个持续进行的项目。请通过贡献改进的文档和示例来帮助我们。
TypeScript 定义可以在 types
文件夹中找到。它们也在 package.json
的 types
条目中被引用。
根据您的项目,您可能需要在 tsconfig.json
文件中添加以下内容:
"lib": ["es6", "dom", "dom.iterable", "scripthost"], "typeRoots": ["./node_modules/phaser/types"], "types": ["Phaser"]
TypeScript 定义是从 Phaser 源代码中的 JSDoc 注释自动生成的。如果你想帮助完善它们,你必须直接编辑 Phaser JSDoc 块,而不是 defs 文件。你可以在 scripts/tsgen
文件夹中找到关于我们构建的解析器的更多详细信息。
Phaser 根据 MIT 许可证 发布。
<a name="getting-started"></a>
Phaser 的教程和指南每周都在发布。
一本全新的 500 页免费书籍,介绍使用 Phaser 进行游戏开发。通过构建射击游戏、益智游戏、Rogue-like 游戏等来学习。
由长期多产的 Phaser 爱好者 Pello Xabier Altadill 和 Phaser 创始人 Richard Davey 撰写,包含超过 500 页全新、最新的使用 Phaser v3.80 构建游戏的内容。
该书分为 17 章,带你完成创建各种不同游戏的过程。正如书名所暗示的,这允许你通过实际例子来学习。游戏从简单的无尽跑酷游戏开始,然后逐步讲解如何构建射击游戏、平台游戏、益智游戏、Rogue-like 游戏、故事游戏,甚至包括 3D 游戏和多人射击游戏。
除了游戏之外,Richard 还撰写了大量关于 Phaser 核心概念的内容,涵盖了框架使用的术语和约定,以及对游戏对 象(任何 Phaser 游戏的生命线)的全面深入探讨。你将了解包括游戏对象工厂、遮罩、自定义混合模式等主题。
该书最后还包括了有关处理资产、流行构建工具、4:44 规则以及参与游戏 jam 的好处等章节,以及一个方便的 Phaser 食谱。
下载这本书,只需注册一个免费的 Phaser 账户。
在 Phaser 的开发过程中,我们创建了数百个示例,提供完整的源代码和资源。这些示例可以在 Phaser 3 实验室 上浏览,或者克隆 [示例仓库][examples]。我们不断地添加和完善这些示例。
Hathora Cloud 是一个可扩展的在线多人游戏托管平台。你可以使用 Hathora 控制台或 CLI 上传你的服务器项目,然后在全球 10 多个地区动态创建服务器实例。你只需为活跃的比赛/会话持续时间付费。它非常适合处理 WebSocket 连接的 nodejs 服务器,并负责 SSL 终止(用于 wss)和 DDoS 保护。
他们还发布了一个全新教程,介绍如何创建一个可扩展的多人 Phaser 游戏。如果你认为这对你的托管需求有用,可以加入他们的 Discord 服务器 联系他们。
超级社区成员 RexRainbow 多年来一直在发布 Phaser 3 内容,积累了令人印象深刻的目录。你会发现大量插件,从文本输入框等 UI 控件,到 Firebase 支持、有限状态机等等。除了插件之外,还有一套关于 Phaser 3 的综合"笔记",详细介绍了各种系统的工作原理。这是一个宝贵的资源,值得在 https://rexrainbow.github.io 查看。
Phaser 沙盒:如果你不想在本地测试 Phaser,那么你可以在我们的网站上注册一个免费账户,并使用 Phaser 沙盒。这里你会找到一个完全配置好的在线编辑器,随时可用。否则,请继续阅读...
在本地创建一个 index.html
页面,并将以下代码粘贴到其中:
<!DOCTYPE html> <html> <head> <script src="https://cdn.jsdelivr.net/npm/phaser@3.80.1/dist/phaser-arcade-physics.min.js"></script> </head> <body> <script></script> </body> </html>
这是一个标准的空白网页。你会注意到有一个 script 标签引入了 Phaser 3 的构建版本,但除此之外,这个网页还没有任何功能。现在让我们设置游戏配置。将以下内容粘贴在 <script></script>
标签之间:
const config = { type: Phaser.AUTO, width: 800, height: 600, physics: { default: 'arcade', arcade: { gravity: { y: 200 } } }, scene: Example }; const game = new Phaser.Game(config);
config
是一个相当标准的 Phaser 3 游戏配置对象。我们告诉 config
尽可能使用 WebGL 渲染器,将画布大小设置为 800 x 600 像素,启用 Arcade 物理引擎,最后我们告诉它使用 Example 场景。这还没有实现,所以如果你现在运行这段 JavaScript 代码,会出现错误。在 config
上方添加以下内容:
class Example extends Phaser.Scene { constructor () { super(); } preload () { this.load.setBaseURL('https://labs.phaser.io'); 这里我们创建了一个名为`Example`的场景。我们给它定义了两个函数。`preload`函数是用来加载游戏资源的地方。在`preload`中,我们设置了基础URL为Phaser服务器,并加载了3个PNG文件。 `create`函数目前是空的,现在是时候来填充它了: ```javascript create () { this.add.image(400, 300, 'sky'); const particles = this.add.particles(0, 0, 'red', { speed: 100, scale: { start: 1, end: 0 }, blendMode: 'ADD' }); const logo = this.physics.add.image(400, 100, 'logo'); logo.setVelocity(100, 200); logo.setBounce(1, 1); logo.setCollideWorldBounds(true); particles.startFollow(logo); }
这里我们向游戏中添加了一个天空图像,并创建了一个粒子发射器。scale
值表示粒子 最初会很大,随着生命周期的推进会逐渐缩小至消失。
创建emitter
后,我们添加了一个名为logo
的logo图像。由于logo
是一个物理图像,默认情况下它会被赋予一个物理体。我们为logo
设置了一些属性:速度、反弹(或恢复)以及与世界边界的碰撞。这些属性会使我们的logo在屏幕上弹来弹去。最后,我们让粒子发射器跟随logo - 所以当logo移动时,粒子会从它那里流出。
在浏览器中运行它,你会看到以下效果:
如果你无法运行它,可以在Phaser沙盒中查看这个示例。
这只是一个小例子,还有数百个示例供你探索,但希望它能展示Phaser的表现力和使用的便捷性。只需几行易读的代码,我们就在屏幕上呈现了相当令人印象深刻的效果!
在仓库的dist
文件夹中有Phaser的普通版和压缩版编译文件。普通版用于开发过程中,压缩版用于生产环境。你也可以并且应该创建自己的构建版本。
使用我们强大的新型网页工具来压缩你的Phaser包,最多可减少60%的体积,只启用你的游戏所需的功能。
阅读更多关于Phaser压缩器的信息
如果你希望从源代码构建Phaser,请确保你已经克隆了仓库,然后在你的源目录运行npm install
来安装所需的包。
然后你可以运行webpack
在build
文件夹中创建一个包含源映射的开发版本,用于本地测试。你也可以运行npm run dist
在dist
文件夹中创建一个压缩打包的构建版本。要查看所有 可用命令的列表,请使用npm run help
。
由于我们的更新日志越来越大,我们现在将它们分割开来,每个版本一个文件夹。
我们已经将更新日志组织成常见的主题部分,以使其更易于理解,但我们理解其中内容仍然很多。请不要感到不知所措!如果你需要澄清什么,请加入Phaser Discord并询问。
[贡献指南][contribute]包含了如何帮助Phaser开发的全部细节。主要要点是:
发现bug?在[GitHub Issues][issues]上报告并包含代码示例。请说明你使用的Phaser版本!这一点至关重要。
在提交Pull Request之前,使用我们的配置通过ES Lint运行你的代码,并遵守我们的Editor Config。
在贡献之前请阅读行为准则。
用Phaser写了些很酷的东西?请在Discord、[论坛][forum]上告诉我们,或者简单地发邮件到games@phaser.io
Phaser是Photon Storm和Phaser Studio Inc的作品。
由Richard Davey和Phaser Studio Inc团队创建。由咖啡、动漫、像素和爱驱动。
Phaser标志和角色版权所有 © 2011 - 2024 Phaser Studio Inc。
保留所有权利。
"最重要的是,视频游戏的目的只有一个:娱乐。为所有人带来乐趣。" - 岩田聪
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号