私はフェイザーでゲームを作っています。私は背景イメージをロードしており、その情報(ファイルの場所)はJSONファイル内に保存されています。読み込みしようとすると、背景が黒く空になり、コンソールには次のように表示されます。フェーザーキャッシュロードの問題
Phaser.Cache.getImage:キー "background0"がキャッシュに見つかりません。ここで
私のコードから関連の抜粋です:
{"levels":[
{
"background": "assets/img/Back.png",
"portals": [
{
"locationX": 400,
"locationY": 450,
"toX": 100,
"toY": 200,
"spinSpeed": 1
},
{
"locationX": 50,
"locationY": 200,
"toX": 100,
"toY": 450,
"spinSpeed": 2
}
]
}
]}
クロム、Firefox、およびオペラとテスト、そして私が開くたび:
function create() {
//>Load JSON file and background images found inside the file
$.getJSON("levels.json", function(json) {
for (var i = 0; i < json.levels.length; i++) {
game.load.image('background' + i.toString(), json.levels[i].background);
}
game.load.start();
});
back_layer = game.add.group();
var i = 0;
var level_finished = 0;
$.getJSON("levels.json", function(json) {
if (i < json.levels.length) {
console.log("Level " + (i + 1).toString());
var current_background = back_layer.create(0, 0, 'background' + i.toString());
check = setInterval(function() {
if (level_finished == 1) {
i++;
current_background.destroy();
clearInterval(check);
}
}, 500)
}
});
}
そしてここでは、JSONファイルですページ、それはランダムにエラーがあるようだ、または背景を読み込んで正常に動作します。私はWAMPを使ってページをローカルにホストしています。
本当に助けてくれた答えをありがとう!しかし、ページをリフレッシュする前にゲームを初めて実行したときに、「Phaser.Loader - アクティブロードのキャンセル/リセット」というエラーが表示され、リフレッシュが修正されましたが、理想的ではありません。 – Melkor
例で指定したアセット以外のアセットを読み込もうとしていますか?これはおそらく、他のアセットが読み込まれている間にフェイザーが何かをロードしているためです。 'create()'の先頭に 'game.load.reset()' ***または*** 'game.load.reset(true)'(ハードリセット)を呼び出すことで警告メッセージを防ぐことができます。関数。 –
私はプリロード機能でイメージをロードしています。 create関数にリセットを追加しても、エラーは変更されませんでした。私はまた、 "パドルは未定義です"というエラーがあります。パドルはloadCompleteで定義されたスプライトです。しかし、私が更新からそれにアクセスしようとすると、定義されていないというエラーが出ます。 – Melkor