为什么我无法在phaser.io中加载图像

时间:2015-11-05 16:53:34

标签: javascript loading assets phaser-framework

我一直得到同样的错误

获取http://localhost:3000/star.png 404(未找到)

Phaser.Loader - image [star]:从网址加载资产时出错./star.png

Phaser.Cache.getImage:Key" star"在缓存中找不到。

但我没有错误地加载资产。这是我的代码:



var express = require('express');
var app = express();
var fs = require('fs');

app.get('/', function(req, res) {
  var index = fs.readFileSync('./index.html', "utf8");
  res.send(index);
});

var server = app.listen(3000, function() {
  var host = server.address().address;
  var port = server.address().port;

  console.log('Example app listening at http://%s:%s', host, port);
});

<!doctype html>
<html lang="en">

<head>

  <meta charset="UTF-8" />
  <title>Phaser</title>=

</head>

<body>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/phaser/2.4.4/phaser.js"></script>
  <script type="text/javascript">
    var game = new Phaser.Game(800, 600, Phaser.AUTO, '', {
      preload: preload,
      create: create,
      update: update
    });

    function preload() {
      game.load.image('star', './star.png');
    };

    function create() {
      game.add.sprite(0, 0, 'star');
    };

    function update() {};
  </script>

</body>

</html>
&#13;
&#13;
&#13;

这是我对这个游戏的路径: / home / me / dev / games / phaser

我在同一目录(phaser)中拥有所有文件(三个文件,app.js,index.html和star.png)。为什么它没有抓住.png文件???我没有正确链接到它吗?它坐在那里,为什么GET请求没有抓住它?为什么phaser.loader会抛出错误?我已经尝试了一百种不同的东西,但它只是不会加载。它变得非常令人沮丧。

2 个答案:

答案 0 :(得分:1)

您只托管1条路线(/) - 您需要使用静态服务器提供资源。见http://expressjs.com/starter/static-files.html

答案 1 :(得分:1)

使用game.load.image()只会添加到加载程序队列。

您需要执行game.load.start()才能实际启动加载序列。