jgame.jsにおける外部リソースを管理するクラスです。
ver0.2現在、管理対象は画像のみ、読み込み可能なファイルは拡張子がjsの場合のスクリプトと画像のみとなっています。
ユーザが本クラスを直接利用する機会は多くありません。
通常は、
Gameクラスのpreloadメソッドを通してリソースを読み込み、同じくGameクラスのrメソッドを用いてリソースを取得するためです。
LoadingSceneを入れ替えたいユーザは、本クラスのloadedイベントの仕様に特に注意してください。
var resource = new Resource();
Resourceクラスは特に何も渡さずにインスタンスを生成する事が出来ますが、この方法でインスタンスを生成してはいけません。
ResourceがHTML1ページの間で別々に管理されるという状況は考えにくいため、通常は本クラスのクラス関数であるgetInstanceを通してResourceクラスのインスタンスを取得するべきです。
images: {[key:string]: HTMLImageElement; };//読み込み済みの画像
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メソッドで取得します。
---
loadImage(url:string, identifier:string, caller:any, callback?:(string,HTMLImageElement, bool) => void) {
---
loadImageComplete(name:string, image:HTMLImageElement, is_success:bool) {
---
load(name:string, url?:string) {
---
loadScript(url:string, identifier:string, caller:any, callback?:(string,HTMLScriptElement, bool) => void) {
---
loadScriptComplete(name:string, script:HTMLScriptElement, is_success:bool) {
---