如何停止 Phaser 游戏并将其从页面中删除?

Rob*_*ith 3 javascript jquery phaser-framework

我有一个网页,我希望能够连续运行三个 JavaScript 游戏。我开始一个

//jQuery to start a game
$(document).ready(() => {
  //When the logo image is clicked
  $("#logo").click(() => {
    //Get the archery game
    $.getScript('archery.js', () => {
      //Start it
      startArchGame();
      //Remove the image from the HTML doc
      $("#logo").remove();
    });
  })
})
Run Code Online (Sandbox Code Playgroud)

然后,在内部archery.js,一旦满足条件,就会执行以下代码

$.getScript('skateboarding.js', () => {
  startSkateGame();
});
game.destroy();
Run Code Online (Sandbox Code Playgroud)

game.destroy();会阻止游戏在 Phaser 3 中运行,但下一个游戏只是在第一个游戏下方加载,因此您看不到它。我怎样才能解决这个问题?是否可以完全删除我得到的第一个脚本?

Rob*_*ith 6

我能够在 Phaser 框架内解决这个问题。

game.destroy()改为game.destroy(true, false). destroy 方法的第一个参数true表示我想在销毁游戏时从页面的画布元素中删除游戏。第二个参数false表示不要删除该页面的所有 Phaser 及其插件。我将其设置为 false 是因为我想在销毁第一个游戏后在页面上的 Phaser 中创建另一个游戏。