使用React Native制作平台游戏
在本系列文章中,我们将使用React Native和React Native Game Engine开发经典的《大金刚》街机游戏的翻版。 由于这将是仅限移动设备的游戏,因此我们将大大简化其原始控件-我们的游戏只能用一根手指玩。
以下是我们要实现的目标的预览:
如果您不熟悉原始游戏,我们的角色马里奥(Mario)(最初称为Jump Man)试图躲避主要对手在一系列坡道上摔下来的枪管时营救公主(原名Pauline)-孔 前往YouTube,获取我们正在构建的应用程序的游戏演示 。
为使此步伐保持良好步伐,这不是逐行教程-我们将介绍一些重要且有价值的主题。 有关完整的源代码,请参见React Native Donkey Kong 。
项目设置
初始化香草React Native或Expo项目后 ,请安装以下先决条件:
反应本机游戏引擎
该库将帮助我们循环运行游戏并管理/操纵游戏实体(玩家,弹丸,敌人,梯子,平台等)。 特别是,我们将使用GameEngine组件,它是Component-Entity-Systems模式的宽松实现。
npm install — save react-native-game-engine
物质JS
这是一个2D物理库,将帮助我们模拟弹丸沿一系列倾斜坡道的投掷(请参见上面的预览)。 这也将帮助我们将角色马里奥(Mario)朝坡道移向公主(Princess)。
npm install --save matter-js
其他NPM软件包
npm install --save lodash # Always good to have
npm install --save d3-interpolate # Will help us create a nice jump curve
精灵资源
我从Spriters Resource网站上找到了一些很棒的艺术品和资产。 在这里,我找到了大金刚的原始雪片。 他们拥有大量其他游戏的资产。
特别感谢Zeon出色的Donkey Kong Sprite表,我在整个游戏中都广泛使用它。
磷灰石
为了编辑,切片和缩放游戏的精灵,我使用了一种称为Aseprite的出色像素艺术工具。
在本教程中,我们不需要编辑任何图稿-我们只需使用React Native Donkey Kong仓库中的图像精灵即可。
发起游戏实体
游戏实体是我们游戏世界中的所有游戏对象(它们也不一定必须是可见的),我们可以根据需要添加和删除它们。 在我们的游戏中,这将包括Mario; 平台; 桶; 公主; 孔 梯子等
首先,让我们为平台实体编码组件。 创建以下文件platform.js :
接下来是mario.js (玩家控制的字符):
您可能已经注意到我们引用了一个constants.js文件。 它包含碰撞类别的地图,我们的物理引擎用来确定应该碰撞的游戏实体。
让我们创建第一个(也是唯一一个)级别,创建一个名为Entitys.js的文件:
接下来,让我们更新App.js文件:
注意,我们可以将子代传递到我们的GameEngine组件中,它们将在我们的实体之后渲染。
运行我们的游戏
现在我们可以启动应用程序react-native run-ios,并希望我们应该能够看到我们的七个平台以及我们的GameEngine组件渲染的Mario
我应该注意,我们正在做的所有事情也将在Android上运行-为了简洁起见,我只是坚持使用iOS。
接下来
在下一篇文章中,我们将开始连接系统并使用一些简单的手势来移动角色。
跟随我( bberak )保持关注。
链接与资源
bberak / react-native-game-engine
react-native-game-engine-用于React Native的轻量级游戏引擎 ????⚡????github.com
巴贝拉克
react-native-donkey-kong-使用react-native-game-engine重制Donkey Kong????github.com
liabru / matter-js
matter- js- 用于Web的2D刚体物理引擎▲●■ github.com
磷灰石
动画精灵编辑器和像素美工工具 www.aseprite.or
From: https://hackernoon.com/making-a-platforming-game-with-react-native-4682b4d4d209
以上是 使用React Native制作平台游戏 的全部内容, 来源链接: utcz.com/z/382380.html