私は、Babelとwebpackと共にcreateJS - preloadJSとES6を使用しています。私が達成したい何ES6モジュールを使用したCreateJS
const files = [{ src: 'characterSprite.png', id: 'characterSprite' }];
const Loader = new createjs.LoadQueue(false);
Loader.loadManifest(files, true, 'img/');
export default Loader;
は、すべての画像をロードするためにpreload.jsであり、他のファイルのように何かをするために(例えばhero.js。):
import Loader from './loader';
Loader.getResult('characterSprite');
を私が.getResult()
をローダーに呼び出すと、ローダーはプリロードを終了していないので、undefined
を返します。
ローダーが使用して終了したとき、私は確認することができます。私は、ローダーが終了した場合にのみ、モジュールをエクスポートすることができれば
Loader.addEventListener('complete',() => console.log('loader has finished');
私の質問はありますか?
これを行うには良い方法がありますか?
ありがとうございます。 hero.js内にMyLoaderをロードして、enemy.jsを再度ロードする必要がある場合は、 – Hiero
2つの別々のインスタンス(ヒーローアセットをロードするインスタンスと敵のアセットをロードするインスタンス)を作成し、2つの異なる 'files'配列をコンストラクタに渡すことができます。また、キャッシュされたオブジェクトや、ロードされたアセットを格納する場所を作成し、アセットがまだロードされていない場合にのみロードを開始することもできます。答えを編集しましょう。 – juandemarco
と私はもう1つの質問があります。もし私が約束のコールバックの中で()=> {const new Stage(); constヒーロー=新しいヒーロー(); } hero.js内でLoaderと.getResult()をインポートできますか? – Hiero