我一直得到同样的错误
获取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;
这是我对这个游戏的路径: / home / me / dev / games / phaser
我在同一目录(phaser)中拥有所有文件(三个文件,app.js,index.html和star.png)。为什么它没有抓住.png文件???我没有正确链接到它吗?它坐在那里,为什么GET请求没有抓住它?为什么phaser.loader会抛出错误?我已经尝试了一百种不同的东西,但它只是不会加载。它变得非常令人沮丧。
答案 0 :(得分:1)
您只托管1条路线(/
) - 您需要使用静态服务器提供资源。见http://expressjs.com/starter/static-files.html
答案 1 :(得分:1)
使用game.load.image()
只会添加到加载程序队列。
您需要执行game.load.start()
才能实际启动加载序列。