使用React Native制作平台游戏

react

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

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

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

如果您不熟悉原始游戏,我们的角色马里奥(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

回到顶部