0

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 ファイルでまだエラーがスローされます。

イライラします:)事前に感謝します。

4

1 に答える 1

0

PreloadJS スクリプトは、ブラウザーのサポートで利用可能な XHR を使用します。これがローカルでホストされたスクリプトで正しく機能するには、ローカル Web サーバーが実行されている必要があります。ローカル Web サーバーをアクティブにして同じ操作を試みると、完全に成功しました。

于 2013-03-26T16:39:48.733 に答える