108 lines
No EOL
4.3 KiB
JavaScript
108 lines
No EOL
4.3 KiB
JavaScript
//=============================================================================
|
|
// MN_ShowPictureExtend - 画像の表示拡張
|
|
// ---------------------------------------------------------------------------
|
|
// author: minazuki
|
|
// ---------------------------------------------------------------------------
|
|
// ver:
|
|
// 1.0 (2020-05-15) 初版
|
|
// ---------------------------------------------------------------------------
|
|
// Copyright (c) 2020 minazuki
|
|
// Released under the MIT license
|
|
// https://opensource.org/licenses/mit-license.php
|
|
//=============================================================================
|
|
|
|
/*:
|
|
* @plugindesc 画像表示を拡張 picturesのサブフォルダや別フォルダの画像が表示可能に
|
|
* @author minazuki
|
|
* @help
|
|
*
|
|
* --- 概要 --------------------------------------------------------------
|
|
* $gameScreen.showPicture() では、pictureフォルダ直下の画像しか
|
|
* 表示できませんでした。このプラグインを導入すると、ファイル名に
|
|
* フォルダパスを入れた場合にはpictureフォルダ内のフォルダを参照して
|
|
* 画像を表示することができます。また、ファイル名の先頭に'/'を入力すると
|
|
* プロジェクトフォルダからのパスとなり、プロジェクト内のどの画像も
|
|
* 表示することができます。
|
|
*
|
|
*
|
|
* --- 導入方法 ----------------------------------------------------------
|
|
* プラグインマネージャで読み込むだけで動作します。
|
|
* 設定項目はありません。
|
|
*
|
|
*
|
|
* --- 使い方 ------------------------------------------------------------
|
|
* $gameScreen.showPicture()のファイル名にファイルパス指定ができます。
|
|
* それだけです。詳しい使い方は以下の例をどうぞ。
|
|
* ※「./」「../」は使用できません。
|
|
*
|
|
*
|
|
* --- 例 ----------------------------------------------------------------
|
|
* exp.1) picturesフォルダ内のサブフォルダにある画像を表示する
|
|
*
|
|
* img / pictures / サブフォルダ / image.png
|
|
* の「image.png」を表示したい
|
|
* -> $gameScreen.showPicture()のファイル名部分に
|
|
* 'サブフォルダ/image' と指定する。
|
|
*
|
|
*
|
|
* exp.2) exp.1 より更に下層のフォルダにある画像を表示する
|
|
*
|
|
* img / pictures / サブフォルダ / サブフォルダ2 / image.png
|
|
* の「image.png」を表示したい
|
|
* -> $gameScreen.showPicture()のファイル名部分に
|
|
* 'サブフォルダ/サブフォルダ2/image' と指定する。
|
|
*
|
|
*
|
|
* exp.3) enemiesフォルダ内の画像を表示する
|
|
*
|
|
* img / enemies / enemyImage.png
|
|
* の「enemyImage.png」を表示したい
|
|
* -> $gameScreen.showPicture()のファイル名部分に
|
|
* '/img/enemies/enemyImage' と指定する。
|
|
*
|
|
* ※先頭の'/'に注意!!
|
|
*
|
|
*
|
|
* exp.4) enemiesフォルダ内のサブフォルダにある画像を表示する
|
|
*
|
|
* img / enemies / サブフォルダ / enemyImage.png
|
|
* の「enemyImage.png」を表示したい
|
|
* -> $gameScreen.showPicture()のファイル名部分に
|
|
* '/img/enemies/サブフォルダ/enemyImage' と指定する。
|
|
*
|
|
* ※先頭の'/'に注意!!
|
|
*
|
|
*
|
|
* exp.5) プロジェクトフォルダ直下の画像を表示する
|
|
*
|
|
* (projectフォルダ) / projectImage.png
|
|
* の「projectImage.png」を表示したい
|
|
* -> $gameScreen.showPicture()のファイル名部分に
|
|
* '/projectImage' と指定する。
|
|
*
|
|
* ※先頭の'/'に注意!!
|
|
*
|
|
*
|
|
*/
|
|
|
|
(function () {
|
|
'use strict';
|
|
|
|
const defaultFilePath = 'img/pictures/';
|
|
const separator = '/';
|
|
const sepReg = new RegExp(separator);
|
|
|
|
var ImageManager_loadPicture = ImageManager.loadPicture;
|
|
ImageManager.loadPicture = function (filename, hue) {
|
|
if (filename.match(sepReg)) {
|
|
var fn = filename.split(separator);
|
|
var path = filename.slice(0, 1) == separator ? fn.shift() : defaultFilePath;
|
|
for (var i = 0; i < fn.length - 1; i++) {
|
|
path += fn[i] + separator;
|
|
}
|
|
return this.loadBitmap(path, fn[fn.length - 1], hue, true);
|
|
}
|
|
return ImageManager_loadPicture.call(this, filename, hue);
|
|
};
|
|
|
|
})(); |