
这周我们将让我们的玩家像职业玩家一样跳跃并创造一些敌人!
双重跳跃方法并不是新事物,也不是很难实施的,它可以帮助玩家达到所生成等级中的高位物品,并可能避免一些障碍(当然,如果他在正确的时间跳跃)。 我们将以随机方式让敌人(或竞争者)做同样的事情。
- 宝珠守护者(第2部分:Tilemap)+康威的人生游戏
- 独立身份:加拿大独立企业家的兴起
- 内心世界I:太空工程师弗拉基米尔·罗曼纽克(Vladimir Romanyuk)
- A:\ dventure开发日志:模拟基本市场经济学
- #SheHacksGames
让我们打开Play.js文件,并如下修改我们的创建和更新功能:

您以为这次我要让您只复制代码,对吗? 🙂
我们进行了呼叫以创建敌人并处理键盘并触摸create函数上的输入。 另外,我们已经为敌人进行了碰撞检查,按键/触摸验证和检查功能的编码,该功能将验证敌人是否可以跳跃; 因为我们不知道何时会发生此事件,所以所有这些都在更新函数中,因此更新循环是检查所有这些事件的最佳位置。
在与敌人打交道之前,我们必须完成玩家的移动并在文件末尾实现checkKeys函数:

这很简单,可以验证是否按下了向上键或屏幕上是否发生了任何触摸。 如果玩家仍然没有跳两次,我们就让他跳。 当他与平台碰撞时,我们的跳跃已经恢复为零,因此无需在此处进行更改。 容易吧?
现在,我们可以使用组创建敌人并设置一些我们已经知道的属性:

代码的随机部分是最简单的部分,并且更有用,因为这会使游戏每次执行不同的游戏。 还要记住,X位置是使用图块尺寸计算得出的,以确保始终在游戏屏幕内生成敌人。 请注意,碰撞区域比敌人的尺寸要小; 这是必要的,这样敌人才能在较小的平台空白之间跳跃和坠落。
敌人跳跃的神奇部分是由我们的updateEnemies函数完成的,我相信这会让您感到惊讶:

什么? 只是它? 是! 对于屏幕上的每个敌人(或生成的每个敌人),我们检查它的哪一侧正在触摸某物,并相应地检测到一侧,我们改变速度使其移动到另一侧。 之后,我们只需要对某个随机值进行验证,以确定它是否会跳转。 哦,太容易了!
如果我没有忘记什么,您可以尝试运行游戏,看看敌人在跑来跑去,并且如果您触摸屏幕,玩家将会跳起来! (如果您看不到全部或部分内容,请告诉我)
在下周,我们将制定某种类型的目标,让玩家与敌人竞争。 到时候那里见!