Vyhledávání na webu

javascript - Phaser 3 nenačítá obrazové zdroje


Sleduji tento tutoriál http://phaser.io/tutorials/making-your-first-phaser-3-game/part2 a dostal jsem se až k načítání nebe. Bohužel se však obrázek nebe nenačítá. Abych ověřil, že to není problém s kódem, spustil jsem soubor part3.html, který tutoriál poskytuje, a který by měl načíst nebe od začátku, ale bez úspěchu. Jakákoli pomoc bude velmi oceněna! Děkuji :) Obrázek toho, jak to vypadá v prohlížeči

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8" />
    <title>Making your first Phaser 3 Game - Part 3</title>
    <script src="//cdn.jsdelivr.net/npm/[email /dist/phaser.js"></script>
    <style type="text/css">
        body {
            margin: 0;
        }
    </style>
</head>
<body>

<script type="module">

    var config = {
        type: Phaser.AUTO,
        width: 800,
        height: 600,
        scene: {
            preload: preload,
            create: create,
            update: update
        }
    };

    import Phaser from 'phaser';

    var game = new Phaser.Game(config);

    function preload ()
    {
        this.load.image('sky', 'assets/sky.png');
        this.load.image('ground', 'assets/platform.png');
        this.load.image('star', 'assets/star.png');
        this.load.image('bomb', 'assets/bomb.png');
        this.load.spritesheet('dude', 'assets/dude.png', { frameWidth: 32, frameHeight: 48 });
    }

    function create ()
    {
        this.add.image(400, 300, 'sky');
    }

    function update ()
    {
    }

</script>

</body>
</html>

Odpověď č. 1

Upravil jsem tvůj kód, teď můžeš vidět, že tvůj kód funguje dobře :)

Poznámka: Musíte nainstalovat rozšíření Live Server pro VSCode, poté otevřít soubor index.html pomocí rozšíření Live Server a nezapomeňte nastavit soubory s prostředky ve správném adresáři

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Making your first Phaser 3 Game - Part 3</title>
    <script src="//cdn.jsdelivr.net/npm/[email /dist/phaser.js"></script>
    <style type="text/css">
      body {
        margin: 0;
      }
    </style>
  </head>
  <body>
    <script type="text/javascript">
      var config = {
        type: Phaser.AUTO,
        width: 800,
        height: 600,
        scene: {
          preload: preload,
          create: create,
          update: update,
        },
      };

      var game = new Phaser.Game(config);

      function preload() {
        this.load.image("sky", "assets/sky.png");
        this.load.image("ground", "assets/platform.png");
        this.load.image("star", "assets/star.png");
        this.load.image("bomb", "assets/bomb.png");
        this.load.spritesheet("dude", "assets/dude.png", {
          frameWidth: 32,
          frameHeight: 48,
        });
      }

      function create() {
        this.add.image(400, 300, "sky");
      }

      function update() {}
    </script>
  </body>
</html>