Class

ImagePool

stdgam.ImagePool()

画像ファイルから読み込んだイメージを管理するクラス.

Constructor

# new ImagePool()

空のインスタンスを作る.

View Source stdgam.js, line 770

Methods

# get(name) → {HTMLImageElement}

指定した名前で登録されている画像を返す.

Parameters:
Name Type Description
name string

画像の登録名

View Source stdgam.js, line 847

  • 指定された登録名の画像. 存在しなければundefined
HTMLImageElement

# load(name, url) → {Promise.<HTMLImageElement>}

画像を読み込み, それを指定した名前で登録する. ただし, JavaScriptでは画像オブジェクトを作っても即座にロードが 完了するのではなく, バックグラウンドで読み込み処理を行う. そのため, 返却値は画像のロード待ちを行なっているPromiseオブジェクトである.

例)

const pool = new stdgam.ImagePool();
const promise = pool.load("IMAGE_01", "./my_image1.png");
promise.then((v) => {
    my_paint_operation( pool.get("IMAGE_01") );
});

普通はこのPromiseオブジェクトを直接使うのではなく, readyメソッドを利用する (readyメソッドの例を参照のこと).

また, GameEngineオブジェクトがデフォルトで所持するImagePoolに関しては, GameEngineのreadyメソッドによりロード待ちを行うほうが好ましい.

Parameters:
Name Type Description
name string

ロードした画像に付ける登録名

url string

読み込む画像のURL

View Source stdgam.js, line 806

画像のロード待ちを行うPromiseオブジェクト

Promise.<HTMLImageElement>

# ready() → {Promise.<Array.<HTMLImageElement>>}

全ての画像のロードが完了するまで待機するためのPromiseを返す. 通常は次のようなコードを書く.

例)

const pool = new stdgam.ImagePool();
pool.load("IMAGE_01", "./my_image1.png");
pool.load("IMAGE_02", "./my_image2.png");

pool.ready().then((v) => {
   my_paint_operation( pool.get("IMAGE_01") );
   my_paint_operation( pool.get("IMAGE_02") );
});

ただし, GameEngineオブジェクトがデフォルトで所持するImagePoolに関しては, GameEngineのreadyメソッドによりロード待ちを行うほうが好ましい.

View Source stdgam.js, line 838

全部の画像のロード待ちを行うPromiseオブジェクト

Promise.<Array.<HTMLImageElement>>