隨機化遊戲玩法

這是 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 論壇

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