terra75
Member
Hallo zusammen,
habe hier ein komisches Problem, wo ich nicht weiterkomme.
Lade alles mittels RequireJS.
Datei: PRELOAD.JS
Datei: Controller.js
Und zwar geht es um die "progressResult"-Variable. So weit wird in der Preload.js alles richtig gemacht. Lasse ich dort das Ergebnis in der Console anzeigen, werden alle geladenen Daten angezeigt.
Möchte ich aber den Inhalt des progressResult in der Controller.js ausgeben, ist die Variable aber auf einmal leer. Wie kann das denn sein, da ich die Variable nirgends leere.
In der Console bei der Controller.js wird mir die Variable als [] angezeigt.
Wo liegt mein Denkfehler ?
Gruß,
Terra
habe hier ein komisches Problem, wo ich nicht weiterkomme.
Lade alles mittels RequireJS.
Datei: PRELOAD.JS
PHP:
// Preload
var pl = pl || {};
var loadProgressLabel,
bar,
preload,
progresPrecentage;
var progressResult = new Array();
define(['cjs'], function() {
// UNWICHTIGE FUNKTIONEN AUSGEBLENDET
pl.handleComplete = function(event) {
var et = event.target['_loadItemsById'];
for (var i = 0; i < Object.keys(et).length; i++) {
// progressResult SOLL ÜBERGEBEN WERDEN
progressResult[Object.keys(et)[i]] = preload.getResult(Object.keys(et)[i]);
}
game.stage.removeChild(loadProgressLabel, bar);
//console.log(progressResult); // ZEIGE GELADENE DATEN AN
}
pl.preloadData = function(data){
loadProgressLabel = new createjs.Text("Loading Data ...","12px Arial","#fff");
loadProgressLabel.lineWidth = 200;
loadProgressLabel.textAlign = "center";
loadProgressLabel.x = canvas.width/2;
loadProgressLabel.y = canvas.height/2 - 25;
game.stage.addChild(loadProgressLabel);
bar = new LoadingBar(100, 3, 3, "#fff", "#fff");
bar.y = canvas.height/2;
game.stage.addChild(bar);
preload = new createjs.LoadQueue(false);
preload.on("complete", pl.handleComplete, this);
preload.on("progress", pl.handleProgress, this);
preload.loadManifest(data);
game.stage.update();
}
});
Datei: Controller.js
PHP:
// Game Controller
define(['cjs'], function() {
game.startGame = function () {
pl.preloadData(g_start); // LADE GRAFIK DATEN
var logo = new createjs.Bitmap(progressResult['bg']);
game.stage.addChild(logo);
game.stage.update();
console.log(progressResult);
createjs.Ticker.addEventListener("tick", game.handleTick);
//createjs.Ticker.setFPS(40);
}
game.handleTick = function(event) {
game.stage.update();
}
});
Und zwar geht es um die "progressResult"-Variable. So weit wird in der Preload.js alles richtig gemacht. Lasse ich dort das Ergebnis in der Console anzeigen, werden alle geladenen Daten angezeigt.
Möchte ich aber den Inhalt des progressResult in der Controller.js ausgeben, ist die Variable aber auf einmal leer. Wie kann das denn sein, da ich die Variable nirgends leere.
In der Console bei der Controller.js wird mir die Variable als [] angezeigt.
Wo liegt mein Denkfehler ?
Gruß,
Terra