我无法使用Phaser 3中的create函数将任何内容加载到画布上

问题描述 投票:0回答:1

我不能让图像预加载

我已经尝试将其转换为url,我已经尝试将其复制到项目文件夹中的文件,我尝试将文件名放入。

function preload(){
  this.load.image('sky', 'assets/sky.png');
  this.load.image('ground', 'assets/platform.png');
  this.load.spritesheet('dude', 'assets/dude.png');
  this.load.image('star', 'assets/star.png');
} // preloads all of the files I will need to make the game
function create() {
  this.add.sprite(200, 200, 'star');
} // applies the files 
function update() {

}// update every frame




var config = {
  type: Phaser.AUTO,
  width: 800,
  height: 600,
  backgroundColor: '#FF0000',
  physics: {
    default: 'arcade',
    arcade: {
      gravity: {y:200},
      debug: false
    }
  },
scene: {
  preload,
  create,
  update
},

} // configures the game 

var game = new Phaser.Game(config);

我想在画布上成功显示一个图像,但它只显示一个黑框,上面有一些绿线。任何有关如何解决这个或我缺少的提示将非常感谢,谢谢。

    function preload() {
      this.load.image('sky', 'file:///home/chronos/u-fc7808c01e889e74148d1013b69f0a2241def976/Downloads/testprogram-atom.js/assets/sky.png');
      this.load.image('ground', 'assets/platform.png');
      this.load.spritesheet('dude', 'assets/dude.png');
      this.load.image('star', '/home/jojobinks/Desktop/testprogram-atom.js/star.png');
    }
    function create() {
      this.add.image(0, 0, 'sky');
    }
    function update() {

    }




    var config = {
      type: Phaser.AUTO,
      width: 800,
      height: 600,
      backgroundColor: '#FF0000',
      physics: {
        default: 'arcade',
        arcade: {
          gravity: {y:200},
          debug: false
        }
      },
    scene: {
      preload,
      create,
      update
    },

    }

    var game = new Phaser.Game(config);
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/phaser-arcade-physics.min.js"></script>
javascript html5 phaser-framework
1个回答
1
投票

打开浏览器Dev Tools并查看网络请求。它实际上是在加载文件吗?或者你有404错误吗?此外,您无法从file://加载,您的游戏必须从Web服务器运行。如果您只是将index.html打开到浏览器中,它将无法正常工作。有关详细信息,请按照Phaser站点上的“入门指南”进行操作。

© www.soinside.com 2019 - 2024. All rights reserved.