Classes ImageCache - hikipuro/rpgmakermv_ref GitHub Wiki
ImageCache クラス
[クラス一覧]
(ver.1.6.2)
画像のキャッシュ管理
定義場所: rpg_core.js
関連項目
フィールド
| 名前 | 型 | 初期値 | 説明 |
|---|---|---|---|
| limit | number | 10 * 1000 * 1000 | (Static) キャッシュの最大サイズ (ビットマップの枚数x幅x高さ) |
| _items | object | {} | キャッシュされた項目のリスト |
注: ファイルサイズではなく、画像サイズでキャッシュを管理する
item
item の構造
| 変数名 | 型 | 説明 |
|---|---|---|
| bitmap | Bitmap | キャッシュされたビットマップ |
| touch | number | 最後にアクセスされた時間 (Date.now() の値) |
| key | string | アクセスキー |
| reservationId | number | 予約番号 |
メソッド
| 名前 | 説明 |
|---|---|
| initialize | 初期化 |
| add | 項目を追加 |
| get | ビットマップを取得する |
| reserve | ビットマップを予約する |
| releaseReservation | ビットマップの予約を解除する |
| _truncateCache | 最大サイズから溢れたビットマップを削除する |
| _mustBeHeld | キャッシュから削除できるか確認する |
| isReady | |
| getErrorBitmap | エラー時のビットマップを取得する |
initialize
定義: initialize()
初期化。コンストラクタから呼ばれる
add
定義: add(key, value)
項目を追加
- _items[key] に item を追加する
| 引数 | 型 | 説明 |
|---|---|---|
| key | string | アクセスキー |
| value | Bitmap | ビットマップ |
get
定義: get(key)
ビットマップを取得する
- _items[key] から bitmap を読み込む
- _items[key] が存在しない場合は null を返す
| 引数 | 型 | 説明 |
|---|---|---|
| key | string | アクセスキー |
戻り値
(Bitmap)
reserve
定義: reserve(key, value, reservationId)
ビットマップを予約する
- 予約されたビットマップはキャッシュから削除されない
| 引数 | 型 | 説明 |
|---|---|---|
| key | string | アクセスキー |
| value | Bitmap | ビットマップ |
| reservationId | number | 予約番号 |
releaseReservation
定義: releaseReservation(reservationId)
ビットマップの予約を解除する
- 予約番号に一致する全てのビットマップの予約を解除する
- 予約を解除するとキャッシュから削除可能になる
| 引数 | 型 | 説明 |
|---|---|---|
| reservationId | number | 予約番号 |
_truncateCache
定義: _truncateCache()
最大サイズから溢れたビットマップを削除する
- _items の項目を新しいもの順に並び替える (touch を比較して並び替える)
- 並び替えた配列を巡回する
- 最大サイズ (limit) から width * height を引いていく
- limit が 0 以下になった後に現れた、全ての予約済みでないビットマップをキャッシュから削除する
_mustBeHeld
定義: _mustBeHeld(item)
キャッシュから削除できるか確認する
- item.bitmap.isRequestOnly() == true の項目は削除できる
- item.reservationId が定義されている項目は削除できない
- item.bitmap.isReady() == false の項目は削除できない
- それ以外の項目は削除できる
| 引数 | 型 | 説明 |
|---|---|---|
| item | item | キャッシュ項目 |
戻り値
(boolean)
- 削除可能: false
- 削除不可能: true
isReady
定義: isReady()
getErrorBitmap
定義: getErrorBitmap()
エラー時のビットマップを取得する
戻り値
(Bitmap)
- エラー時のビットマップが見つかった場合: Bitmap
- 見つからなかった場合: null