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

标签 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();
    });
  })
})

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

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

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

最佳答案

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

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

关于javascript - 如何停止 Phaser 游戏并将其从页面中删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59448975/

相关文章:

jquery - 通过 JQuery 导航事件/悬停/非事件状态

javascript - 如何用 Phaser 3 绘制多边形?

javascript - Angular 模拟版本与 Angular 版本的关系

javascript - 如何在 jQuery 中为插件创建嵌套选项

javascript - React Hook 实现导致并排计数变慢

javascript - 获取 Phaser js 3 上的输入持续时间

javascript - Phaser - 我无法启动任何示例

javascript - 如何通过 phantomjs 设置 Vue 输入?

Javascript正则表达式匹配以数字结尾的字符串不一致

c# - MVC 单字符串 JSON 帖子在 Controller 中始终为 Null