当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
リージョンに応じてマップをマスクします。 - TileMask.js
シェア用テキスト:
▼リージョンに応じてマップをマスクします。(あわやまたな (Awaya_Matana)様作) - TileMask.js
https://plugin-mz.fungamemake.com/archives/8508
リージョンに応じてマップをマスクします。
ふりがな:りーじょんにおうじてまっぷをますくします。
機能概要: リージョンに応じてマップをマスクします。
利用規約(ライセンス): MITライセンス
作者:あわやまたな (Awaya_Matana)
解説ページ:https://awaya3ji.seesaa.net/article/509947274.html
ダウンロードページ:TileMask.js
ファイル名:TileMask.js
プラグインのヘルプ:
* @target MZ
* マスクや塗り潰しを局所的に変更したい時に使えます。
*
* 指定した範囲のマスク及び塗り潰し設定を上書きする事ができます。
* 上層、下層で異なる設定を貼り付け可能です。
* -1を貼り付けたレイヤーは元に戻ります。
*
* 貼り付けを行っても変わるのはマスクと塗り潰しの設定のみです。
* イベントコマンドなどから取得されるリージョンIDは変化しません。
* よってエンカウントや立体交差に一切影響を及ぼすことなくマップをマスクしたり塗り潰したりできます。
*
* [置換]
* 条件を指定して貼り付けを行います。
* 特定範囲のマスク及び塗り潰しが条件に合致する場合のみ貼り付けを行います。
*
* [リージョンID]
* リージョンIDの0~255はマップのリージョンに対応します。
* 256以降はマスクと塗り潰し専用の設定として扱うことができます。
* 0~255と同じように256以降の値も貼り付けや置換でマップに反映する事が可能です。
*
* [メモ(イベント)]
* <tileMask> //その場の不透明度をプライオリティに応じて適用します。
* <tileMask:upper> //その場の上層タイルの不透明度を適用します。
* <tileMask:lower> //その場の下層タイルの不透明度を適用します。
* <tileMask:リージョンID> //リージョンの不透明度をプライオリティに応じて適用します。
* <tileMask:リージョンID,upper> //リージョンの上層タイルの不透明度を適用します。
* <tileMask:リージョンID,lower> //リージョンの下層タイルの不透明度を適用します。
* <tileMask:false> //タイルの不透明度を適用しません。
* <tileMaskRatio:n> //不透明度の適用倍率を指定します(n=0~1)。
*
* [更新履歴]
* 2025/02/02:Ver.1.0.0 公開。
* 2025/02/10:Ver.1.1.0 キャラクターにタイルの不透明度を適用可能にしました。
*
* @param upperLayer
* @text 上層設定
* @desc 初期設定です。
* @type struct<settings>
* @default {"fillColor":"0,0,0","fillBlendMode":"0","maskSmooth":"false","fillSmooth":"true"}
*
* @param lowerLayer
* @text 下層設定
* @desc 初期設定です。
* @type struct<settings>
* @default {"fillColor":"0,0,0","fillBlendMode":"0","maskSmooth":"false","fillSmooth":"true"}
*
* @param maskCharacter
* @text キャラクターをマスク
* @desc 初期状態でキャラクターにタイルの不透明度を適用します。
* ※<tileMask>と同じ
* @type boolean
* @default false
*
* @param maskBalloon
* @text フキダシアイコンをマスク
* @desc キャラクターのタイル不透明度とフキダシアイコンの不透明度を連動します。
* @type boolean
* @default false
*
* @command setMaskOpacity
* @text マスク不透明度の設定
* @desc 指定したリージョンにあるタイルの不透明度を変更します。
* @arg regionId
* @text リージョンID
* @desc コンマ区切りで複数指定、ハイフン区切りで範囲指定。
* 例:0,2,8-16,24
* @default 0
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg opacity
* @text 不透明度
* @desc
* @default 255
* @arg duration
* @text 時間
* @desc 0で瞬間適用
* @default 0
* @arg wait
* @text 完了までウェイト
* @default false
* @type boolean
*
* @command setMaskSmooth
* @text マスク円滑化の設定
* @desc マスクのスムージングを変更します。
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg smooth
* @text 円滑化
* @type boolean
* @default false
*
* @command setFillOpacity
* @text 塗り潰し不透明度の設定
* @desc 指定したリージョンの塗り潰しの不透明度を変更します。
* @arg regionId
* @text リージョンID
* @desc コンマ区切りで複数指定、ハイフン区切りで範囲指定。
* 例:0,2,8-16,24
* @default 0
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg opacity
* @text 不透明度
* @desc
* @default 255
* @arg duration
* @text 時間
* @desc 0で瞬間適用
* @default 0
* @arg wait
* @text 完了までウェイト
* @default false
* @type boolean
*
* @command setFillColor
* @text 塗り潰しカラーの設定
* @desc 指定したリージョンを塗り潰す色を変更します。
* @arg regionId
* @text リージョンID
* @desc コンマ区切りで複数指定、ハイフン区切りで範囲指定。
* 例:0,2,8-16,24
* @default 0
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg color
* @text 色
* @desc コンマ区切りでR,G,Bを設定。
* @type combo
* @option Default
* @default Default
*
* @command setFillBlendMode
* @text 塗り潰し合成方法の設定
* @desc 指定したリージョンを塗り潰す色の合成方法を変更します。
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg blendMode
* @text 合成方法
* @type select
* @option 通常
* @value 0
* @option 加算
* @value 1
* @option 乗算
* @value 2
* @option スクリーン
* @value 3
* @default 0
*
* @command setFillSmooth
* @text 塗り潰し円滑化の設定
* @desc 塗り潰しのスムージングを変更します。
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg smooth
* @text 円滑化
* @type boolean
* @default true
*
* @command pasteMaskSettings
* @text マスク設定の貼り付け
* @desc 指定した座標をリージョンと同じマスクにします。
* 既にリージョンのある場所はこちらのマスク設定が優先されます。
* @arg regionId
* @text リージョンID
* @desc -1で解除。
* @default -1
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg coords
* @text 座標
* @desc コンマ区切りでX座標,Y座標,幅,高さを設定。
* 幅、高さは入力しないと1になります。
* @type combo
* @option All
* @default All
*
* @command replaceMaskSettings
* @text マスク設定の置換
* @desc 条件に合致する座標のリージョン設定を置換します。
* @arg target
* @text 検索対象
* @desc 指定した対象を参照します。
* @default Tile
* @type select
* @option 現在の設定値
* @value Current
* @option タイルの設定値
* @value Tile
* @option リージョンの設定値
* @value Region
* @arg regionId
* @text リージョンID
* @desc 置き換え元のID
* -1はタイルの初期値です。
* @default -1
* @arg replaceId
* @text 置換ID
* @desc 置き換え先のID
* -1はタイルの初期値です。
* @default -1
* @arg layer
* @text レイヤー
* @desc 指定したレイヤーを検索して置換します。
* 「全て」の場合は上層と下層の置換がそれぞれ実行されます。
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg coords
* @text 座標
* @desc コンマ区切りでX座標,Y座標,幅,高さを設定。
* 幅、高さは入力しないと1になります。
* @type combo
* @option All
* @default All
*
* @command pasteFillSettings
* @text 塗り潰し設定の貼り付け
* @desc 指定した座標をリージョンと同じ塗り潰しにします。
* 既にリージョンのある場所はこちらの塗り潰し設定が優先されます。
* @arg regionId
* @text リージョンID
* @desc -1で元に戻す。
* @default -1
* @arg layer
* @text レイヤー
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg coords
* @text 座標
* @desc コンマ区切りでX座標,Y座標,幅,高さを設定。
* 幅、高さは入力しないと1になります。
* @type combo
* @option All
* @default All
*
* @command replaceFillSettings
* @text 塗り潰し設定の置換
* @desc 条件に合致する座標のリージョン設定を置換します。
* @arg target
* @text 検索対象
* @desc 指定した対象を参照します。
* @default Tile
* @type select
* @option 現在の設定値
* @value Current
* @option タイルの設定値
* @value Tile
* @option リージョンの設定値
* @value Region
* @arg regionId
* @text リージョンID
* @desc 置き換え元のID
* -1はタイルの初期値です。
* @default -1
* @arg replaceId
* @text 置換ID
* @desc 置き換え先のID
* -1はタイルの初期値です。
* @default -1
* @arg layer
* @text レイヤー
* @desc 指定したレイヤーを検索して置換します。
* 「全て」の場合は上層と下層の置換がそれぞれ実行されます。
* @default Upper
* @type select
* @option 全て
* @value All
* @option 上層
* @value Upper
* @option 下層
* @value Lower
* @arg coords
* @text 座標
* @desc コンマ区切りでX座標,Y座標,幅,高さを設定。
* 幅、高さは入力しないと1になります。
* @type combo
* @option All
* @default All
*
* @command setCharacterMask
* @text キャラクターのマスク設定
* @desc キャラクターにタイルの不透明度を適用します。
* @arg characterId
* @text キャラクターID
* @desc プレイヤー:-1 このイベント:0
* @default -1
* @arg mode
* @text モード
* @default -1
* @type select
* @option 上層の不透明度
* @value 1
* @option 下層の不透明度
* @value 0
* @option 自動
* @value -1
* @option 無効
* @value -2
* @arg regionId
* @text リージョンID
* @desc -1は足元のリージョンIDです。
* @default -1
* @arg ratio
* @text 倍率
* @desc 不透明度の適用倍率です。
* @default 1
*