jgame.jsにおける外部リソースを管理するクラスです。 ユーザが本クラスを直接利用する機会は多くありません。 通常は、Gameクラスのpreloadメソッドを通してリソースを読み込み、同じくGameクラスのrメソッドを用いてリソースを取得するためです。
LoadingSceneを入れ替えたいユーザは、本クラスのloadedイベントの仕様に特に注意してください。
var resource = new Resource(); Resourceクラスは特に何も渡さずにインスタンスを生成する事が出来ますが、この方法でインスタンスを生成してはいけません。 ResourceがHTML1ページの間で別々に管理されるという状況は考えにくいため、通常は本クラスのクラス関数であるgetInstanceを通してResourceクラスのインスタンスを取得するべきです。
images: {[key:string]: HTMLImageElement; };//読み込み済みの画像 scripts: {[key:string]: HTMLScriptElement; };//読み込み済みのスクリプト sounds: {[key:string]: any; };//読み込み済みのサウンド loaders: {[key:string]: ResourceLoader; };//利用するResourceLoader requests: any[];//読み込み予定のリクエスト loaded: Trigger;//読み込み完了イベント cnt:number;//残り読み込み件数 読み込みが一つ完了するごとに呼び出されるイベントです。 このイベントのパラメータであるcntが0になった時、全ての読み込みが完了した事を表します。 また、全体の読み込み件数はresource.requests.lengthによって取得出来ます。 --- static instance:Resource;
static getInstance():Resource { Resourceクラスのインスタンスを取得します。 コンストラクタではなく、こちらの関数を利用して、ページ内で一つのResourceクラスを共通して扱うべきです。 --- get(name:string) { name:string;//読み込むリソース名 名前を指定してリソースを読み込みます。 通常、本メソッド直接ではなく、Gameクラスのrメソッドで取得します。 --- sound(name:string) { name:string;//読み込むリソース名 名前を指定してサウンドリソースを読み込みます。 通常、本メソッド直接ではなく、Gameクラスのsメソッドで取得します。 --- load(name:string, url?:string) { name:string;//読み込みを行うリソースの名前。 url?:string;//読み込みを行うURL。省略した場合、nameがurlとしても利用される リソースの読み込みを開始します。 --- requestCompleted(name:string) { name:string;//読み込みが完了したリソースの名前 リソースの読み込み完了を受け取ります。 ---