使用小型引擎运行我的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。除了抛出错误之外什么也没做,而且PreloadJS站点上的错误处理文档(以及一般加载JS文件......)非常稀少。它侧重于预加载图像(诚然,这看起来很棒)。无论如何,所以,这是错误。它不能是文件,因为我尝试加载一个完全空白的JS文件(如你所见)。仍然在Empty.js文件上抛出错误。
恼火:)提前致谢。
答案 0 :(得分:0)
PreloadJS脚本在浏览器支持的情况下使用XHR。为了使其能够与本地托管的脚本一起正常运行,必须运行本地Web服务器。激活我的本地网络服务器并尝试相同的操作后,取得圆满成功。