近年来,使用HTML5和JavaScript构建游戏已变得越来越流行,并且创建了许多游戏引擎/框架(列表)。
在本文中,我将向您展示如何使用TypeScript中的免费且功能强大的Game Framework Phaser 3(将编译为纯JavaScript)构建一个蓬松的鸟类克隆。
- 学习Unity(面向初学者的顶级Unity教程和课程)
- A:\ dventure开发日志:正在场景过渡
- 绊倒Unity3D:固定分辨率
- 第一周:简介与团队组成
- VR的100天:第16天(在Unity中使用真实枪械模型)

步骤1:先决条件
要访问github上的源代码,请从此处下载并安装git。 您还需要带有npm的node.js,您可以在此处找到它。
步骤2:获取完整的源代码
启动您的终端机 (Windows,Mac), 导航到所需目录并克隆弗拉皮鸟存储库:
git clone https://github.com/digitsensitive/phaser3-flappy-bird.git
克隆后:
- 运行
npm install
来安装node_modules和 - 运行
npm run dev
以启动开发服务器并查看游戏。
现在一切都已设置好,我们可以深入研究源代码。
步骤3:了解原始码
每个相位游戏的核心都是您的Game类 ,它扩展了Phaser.Game类,并在创建过程中进行了基本配置。

设置好我们的游戏实例和基本的游戏配置后,我们进入游戏场景。 通常,您的游戏中会有多个场景,并在它们之间进行转换。 我们将通过一个场景来简化它。

每个场景根据预定义的模式调用核心功能。 独立于Phaser的是,将首先调用每个类的constructor()
。 由于我们的GameScene扩展了Phaser.Scene,因此我们必须调用super(),它将执行基类的构造函数。 现在,我们可以简单地注意到这一点。

管道类别应该是不言自明的。 最后,我想讨论Bird类的更新功能。

当玩家单击跳转按钮(=鸟在拍打)时,我们将向上增加一些速度,并使用补间更改以在150毫秒内再次将角度重置为-20度。 玩家释放跳转按钮后,我们会将boolean isFlapping
设置回false。
恭喜你! 您已经到了本教程的结尾。 谢谢您阅读此篇。 如有任何疑问,请随时与我联系。
有关更多示例,请查看我在Github上的Phaser3-Typescript存储库。