随机化游戏玩法

这是 Phaser 游戏开发教程中的第 16 步,共 16 步。我们的游戏似乎已完成,但仔细观察,您会发现球在整个游戏过程中始终以相同的角度从挡板上反弹。这意味着每一局游戏都非常相似。为了解决这个问题并提高可玩性,我们应该使反弹角度更加随机,在本篇文章中我们将探讨如何实现这一点。

使反弹更随机

我们可以通过修改每次运行 `hitPaddle()` 方法时 `x` 速度,使其与下面提供的代码类似。现在将此新行添加到您的代码中,并进行尝试。

js
class ExampleScene extends Phaser.Scene {
  // ...
  hitPaddle(ball, paddle) {
    this.ball.anims.play("wobble");
    ball.body.velocity.x = -5 * (paddle.x - ball.x);
  }
  // ...
}

这有点像魔法——新的速度越高,挡板中心与球撞击点之间的距离就越大。此外,方向(左或右)也由该值决定——如果球撞击挡板的左侧,它会向左反弹,而撞击右侧会使其向右反弹。这是通过对给定值进行一些实验得出的;您可以进行自己的实验,看看会发生什么。当然,这并非完全随机,但它确实使游戏玩法变得更不可预测,因此更有趣。

Compare your code

这是您到目前为止应该看到的效果,实时运行。要查看其源代码,请单击“播放”按钮。

总结

您已经完成了所有课程——恭喜!至此,您已经掌握了 Phaser 的基础知识以及简单 2D 游戏的逻辑。

后续练习

您可以在游戏中做更多的事情——添加任何您认为能让游戏更有趣、更吸引人的元素。这是一个基础的入门介绍,仅仅触及了 Phaser 提供的无数有用方法的表面。以下是一些关于如何扩展我们小游戏的建议,以供您开始:

  • 添加第二个球或挡板。
  • 每次击中时更改背景颜色。
  • 更改图像并使用您自己的图像。
  • 如果砖块被快速摧毁,连续摧毁(或您选择的其他奖励)则给予额外的奖励积分。
  • 创建具有不同砖块布局的关卡。

请务必查看不断增长的 示例 列表、官方文档,如果您需要任何帮助,请访问 Phaser Discourse 论坛

您也可以返回 本教程系列的索引页