开发一个小型引擎来运行我的 HTML5 测试游戏,使用它作为深入了解 Javascript 并同时获得乐趣的好方法。成功了,顺便说一句。
然而,我刚刚发现了这个很酷的小脚本,叫做 PreloadJS ( http://www.createjs.com/#!/PreloadJS )。也使用了 John Resig 的经典继承类 JS。很酷,很享受。我正在尝试使用 PreloadJS 来提取我的所有引擎文件……但我似乎遇到了问题。这是我正在使用的代码(故意保持简单):
var ScriptLoader = Class.extend({ // Want to add functionality to this to allow PHP or inline loading...perhaps later
init: function() {
this.fileList = [
'Empty.js',
'./engine/Scene.js'
];
this.preload;
},
loadProjectSource: function(directory) {
if (this.preload != null) { this.preload.close(); }
this.preload = new createjs.LoadQueue();
this.preload.addEventListener("fileload", this.fileLoaded);
this.preload.addEventListener("error", this.fileError);
this.preload.setMaxConnections(5);
this.loadAnother();
},
loadAnother: function() {
var item = this.fileList.shift();
if(this.fileList.length != 0) {
this.preload.loadFile(item);
}
},
fileLoaded: function(e) {
debug('Loaded ' + e.item.src);
this.loadAnother();
},
fileError: function(e) {
debug('Error ' + e.item.src);
}
}
从我的引擎实例化中,我正在调用 ScriptLoader.loadProjectSource。它除了抛出错误什么都不做,而且关于错误处理(以及一般加载 JS 文件......)的文档在 PreloadJS 网站上非常稀少。它专注于预加载图像(诚然,它看起来很棒)。无论如何,是的,它会引发错误。它不可能是文件,因为我尝试加载一个完全空白的 JS 文件(如您所见)。仍然在 Empty.js 文件上抛出错误。
恼火:) 在此先感谢。