使用React Native制作平台游戏

在本系列文章中,我们将使用React Native和React Native Game Engine开发经典的《大金刚》街机游戏的翻版。 由于这将是仅限移动设备的游戏,因此我们将大大简化其原始控件-我们的游戏只能用一根手指玩。

以下是我们要实现的目标的预览:

我们的玩家需要上升一系列倾斜的坡道,同时避免被Kong扔掉的枪管

如果您不熟悉原始游戏,我们的角色马里奥(Mario)(最初称为Jump Man)试图躲避主要对手在一系列坡道上摔下来的木桶时营救公主(原名Pauline),Kong 前往YouTube,获取我们正在构建的应用程序的游戏演示

为使此步伐保持良好步伐,这不是逐行教程-我们将介绍一些重要且有价值的主题。 有关完整的源代码,请参见React Native Donkey Kong

项目设置

初始化香草React Native或Expo项目之后 ,请安装以下先决条件:

React本机游戏引擎

该库将帮助我们循环运行游戏并管理/操纵游戏实体(玩家,弹丸,敌人,梯子,平台等)。 特别是,我们将使用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出色的《金刚》雪片,我在整个游戏中都广泛使用它。

磷灰石

为了编辑,切片和缩放游戏的精灵,我使用了一种称为Aseprite的出色像素艺术工具。

在本教程中,我们不需要编辑任何图稿-我们只需使用React Native Donkey Kong仓库中的图像精灵即可。

发起游戏实体

游戏实体是我们游戏世界中的所有游戏对象(它们也不一定必须是可见的),我们可以根据需要添加和删除它们。 在我们的游戏中,这将包括Mario; 平台; 桶; 公主; Kong; 梯子等

首先,让我们为平台实体编码组件。 创建以下文件platform.js

接下来是mario.js (玩家控制的字符):

您可能已经注意到我们引用了一个constants.js文件。 它包含碰撞类别的地图,我们的物理引擎用来确定应该碰撞的游戏实体。

让我们创建第一个(也是唯一一个)级别,创建一个名为Entitys.js的文件:

接下来,让我们更新App.js文件:

请注意,我们可以将子代传递到我们的GameEngine组件中,并且它们将在我们的实体之后呈现。

运行我们的游戏

现在我们可以启动我们的应用程序react-native run-ios,并希望我们应该能够看到我们的七个平台以及我们的GameEngine组件渲染的Mario

我应该注意,我们正在做的所有事情也将在Android上运行-为了简洁起见,我只是坚持使用iOS。

接下来

在下一篇文章中,我们将开始连接系统并用一些简单的手势移动角色。

跟随我( bberak )保持关注。

链接与资源

翻译自: https://hackernoon.com/making-a-platforming-game-with-react-native-4682b4d4d209

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值