【问题标题】:How to stop a Phaser game and remove it from a page?如何停止 Phaser 游戏并将其从页面中删除?
【发布时间】:2020-04-14 08:49:40
【问题描述】:

我有一个网页,我希望能够按顺序运行三个 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();
    });
  })
})

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

$.getScript('skateboarding.js', () => {
  startSkateGame();
});
game.destroy();

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

【问题讨论】:

  • 有没有例子可以证明这个问题?
  • @NidhinJoseph GitHub 存储库是否适合您?
  • 是的,请分享链接
  • @RobertSmith 你找到这个问题的答案了吗?

标签: javascript jquery phaser-framework


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2017-01-12
    相关资源
    最近更新 更多