2013-03-26 5 views
0

작은 엔진에서 HTML5 테스트 게임을 실행하고, 자바 스크립트를보다 깊이있게 익히고 재미있게 즐기는 좋은 방법입니다. 성공, btw.자바 스크립트 파일 미리로드

그러나 나는 방금 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 파일에 오류가 발생했습니다.

성가신 :) 미리 감사드립니다.

답변

0

PreloadJS 스크립트는 브라우저 지원과 함께 XHR을 사용할 수 있습니다. 로컬에서 호스팅되는 스크립트에서이 기능을 올바르게 사용하려면 로컬 웹 서버가 실행되고 있어야합니다. 내 로컬 웹 서버를 활성화하고 동일한 작업을 시도하면 완전히 성공한 것입니다.

관련 문제