当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
Multiple Window Skin System - MultipleWindowSkinSystem.js
シェア用テキスト:
▼Multiple Window Skin System(ツミオ様作) - MultipleWindowSkinSystem.js
https://plugin.fungamemake.com/archives/1822
メッセージウィンドウの画像や表示方法を動的に変更できるようにします。
ふりがな:まるちうぃんどうすきんしすてむ
機能概要: メッセージウィンドウの画像や表示方法を動的に変更できるようにします。
利用規約(ライセンス): MITライセンス
作者:ツミオ
作者サイト:https://x.com/TsumioNtGame
解説ページ:https://forum.tkool.jp/index.php?threads/634/
ダウンロードページ:https://raw.githubusercontent.com/Tsumio/rmmv-plugins/m…
ファイル名:MultipleWindowSkinSystem.js
プラグインのヘルプ:
/*:ja
* @plugindesc メッセージウィンドウの画像や表示方法を動的に変更できるようにします。
* @author ツミオ
*
* @param ----基本的な設定----
* @desc
* @default
*
* @param ウィンドウの設定
* @type struct<WindowSettings>[]
* @desc ウィンドウの設定。
*
* @param ピクチャ番号
* @type number
* @max 999
* @desc 立ち絵の表示に使用するピクチャ番号。
* @default 100
*
* @help メッセージウィンドウの画像や表示方法を動的に変更できるようにします。
*
* 【特徴】
* ・メッセージウィンドウの画像や表示方法を動的に変更できるようにします。
* ・イージングが利用できます。
*
* 【使用方法】
* プラグインの導入後、プラグインパラメーターからウィンドウの設定をおこなってください。
* ウィンドウはいくつでも設定できます。
*
* 各パラメーターは次のような意味です。
* ・uniqueID: メッセージウィンドウを区別するために使用する一意の値
* ・skin: メッセージウィンドウに適用するスキン画像
* ・actorName:名前ウィンドウに表示する名前
* ・picture:ウィンドウの表示に連動させるピクチャの設定
* ・opacity: 透明度
* ・tone: 色調
* ・movement: どこからウィンドウを表示させるか
* ・duration: イージングが停止するまでの時間
* ・easingType: イージングの種類
*
* パラメーター設定後、イベントエディタの「文章の表示」で通常と同じように文章の表示イベントを作成します。
* このとき、該当の文章の一つ手前に「注釈」イベントを作成してください。
* 「注釈」にはuniqueIDで設定した文字列を書き込みます。
* 一つのイベント内でAという文章にはuniqueID「Black」を与え、Bという文章にはuniqueID「White」を与えるといったことも可能です。
*
* 以上を各文章に対しておこなってください。
* ゲームを実行し、イベントを起動すると「注釈」イベントで設定したuniqueIDのメッセージウィンドウが表示されます。
*
* なお、「注釈」イベントが設定されていない場合、通常のメッセージウィンドウが表示されます。
*
* 【ピクチャ】
* ピクチャはプラグインパラメータの「ピクチャ番号」で指定した番号を利用します。
* また、ピクチャのfileNameパラメータを空白にしておくと、ピクチャは表示されません。
*
* 【名前ウィンドウ】
* actorNameを設定した場合にのみ表示されます。
*
* 【イージング】
* イージングがどのような動作をするのかは、イージング早見表が参考になるかもしれません。
* http://easings.net/ja
*
* なお、当プログラムで使用しているイージングの計算式はRobert Penner氏によって作成されました。
* http://robertpenner.com/easing/
*
* また、George McGinley Smith氏が公開しているコードを参考にイージングの機能を作成しました。
* https://github.com/danro/jquery-easing/blob/master/jquery.easing.js
*
* ライセンスには注意しているつもりですが、もし何か違反があればご連絡ください。
*
* 【プラグインコマンド】
* プラグインコマンドはありません。
*
* 【更新履歴】
* 1.0.9 2019/03/03 並列処理で注釈を実行した際に正常に動作しない不具合を修正。
* 1.0.8 2019/02/16 名前の色変更を可能にした。
* 1.0.7 2019/02/10 MADOへ対応させた。
* 1.0.6 2018/10/09 コモンイベントの並列処理が走っている際にピクチャが表示されない不具合を修正。
* 名前欄を制御文字の中身に従って拡張するように変更。
* 1.0.5 2018/09/22 並列処理が走っている際にピクチャが表示されない不具合を修正。
* 1.0.4 2018/08/31 起動時に発生するエラーを修正。
* 1.0.3 2018/01/21 ウィンドウの画像を正常に読み込めるよう修正。
* 1.0.2 2018/01/12 ライセンス表記を修正。
* 1.0.1 2018/01/12 注釈が不正な場合、通常のウィンドウを表示するよう変更。
* 1.0.0 2018/01/12 公開。
*
* 【備考】
* 当プラグインを利用したことによるいかなる損害に対しても、制作者は一切の責任を負わないこととします。
*
* 【利用規約】
* ソースコードの著作権者が自分であると主張しない限り、
* 作者に無断で改変、再配布が可能です。
* 利用形態(商用、18禁利用等)についても制限はありません。
* 自由に使用してください。
*
*/
/*~struct~WindowSettings:
*
* @param uniqueID
* @type string
* @desc ユニークID(Unique ID).
*
* @param skin
* @type file
* @desc スキン(Skin).
* @dir img/system
*
* @param actorName
* @type string
* @desc アクター名(Actor name).
*
* @param picture
* @type struct<Picture>
* @desc ピクチャの設定(Picture settings).
*
* @param opacity
* @type number
* @max 255
* @desc 透明度(Opacity).
* @default 192
*
* @param tone
* @type struct<Tone>
* @desc 色調(Tone).
* @default {"red":"0","green":"0","blue":"0"}
*
* @param movement
* @type select
* @option None
* @option fromTop
* @option fromBottom
* @option fromRight
* @option fromLeft
* @desc 動作(Movement).
* @default None
*
* @param duration
* @type number
* @decimals 1
* @desc 期間(Duration)。秒(Sec)。
* @default 0.3
*
* @param easingType
* @type select
* @option linear
* @option easeInQuad
* @option easeOutQuad
* @option easeInOutQuad
* @option easeInCubic
* @option easeOutCubic
* @option easeInOutCubic
* @option easeInQuart
* @option easeOutQuart
* @option easeInOutQuart
* @option easeInQuint
* @option easeOutQuint
* @option easeInOutQuint
* @option easeInSine
* @option easeOutSine
* @option easeInOutSine
* @option easeInExpo
* @option easeOutExpo
* @option easeInOutExpo
* @option easeInCirc
* @option easeOutCirc
* @option easeInOutCirc
* @option easeInElastic
* @option easeOutElastic
* @option easeInOutElastic
* @option easeOutBounce
* @desc イージングの種類(Easing type).
* @default linear
*
*/
/*~struct~Tone:
*
* @param red
* @type number
* @max 255
* @desc 赤(Red).
* @default 0
*
* @param green
* @type number
* @max 255
* @desc 緑(Green).
* @default 0
*
* @param blue
* @type number
* @max 255
* @desc 青(Blue).
* @default 0
*
*/
/*~struct~Picture:
*
* @param fileName
* @type file
* @desc ピクチャのファイル名前(File name of the picture).
* @dir img/pictures
*
* @param origin
* @type select
* @option 左上(LeftTop)
* @value 0
* @option 中央(Center)
* @value 1
* @desc 原点(Origin).
* @default 0
*
* @param x
* @type number
* @max 10000
* @min -10000
* @desc X座標(X coordinate).
* @default 0
*
* @param y
* @type number
* @max 10000
* @min -10000
* @desc Y座標(Y coordinate).
* @default 0
*
* @param scaleX
* @type number
* @max 10000
* @min -10000
* @desc 幅の拡大率。パーセンテージ。(Scale X.Percentage)
* @default 100
*
* @param scaleY
* @type number
* @max 10000
* @min -10000
* @desc 高さの拡大率。パーセンテージ。(Scale Y.Percentage)
* @default 100
*
* @param opacity
* @type number
* @max 255
* @desc 透明度(Opacity)
* @default 255
*
* @param blendMode
* @type select
* @option 通常(Normal)
* @value 0
* @option 加算(Addition)
* @value 1
* @option 乗算(Multiply)
* @value 2
* @option スクリーン(Screen)
* @value 3
* @desc 合成方法(BlendMode)
* @default 0
*
*/