任意のメッセージを画面上にポップアップ表示するプラグイン – FTKR_PopupSpriteMessage.js

タイトル
任意のメッセージを画面上にポップアップ表示するプラグイン
作者名
ヘルプ
-----------------------------------------------------------------------------
概要
-----------------------------------------------------------------------------
画面の任意の位置に、任意の文字列をポップアップさせるプラグインです。
マップ画面、バトル画面のどちらでも表示可能です。

ポップアップ時に文字列を1文字ずつ時間をずらしながら表示させることもできます。


ポップアップ表示させた文字列は、以下の操作を行うことができます。
1.移動(画面外から移動や、画面外に移動も可)
2.角度変更と回転
3.色調と透明度の変化
4.削除


このプラグインは、トリアコンタンさんのBattleEffectPopup.js(v1.7.1)を
ベースにしています。


-----------------------------------------------------------------------------
設定方法
-----------------------------------------------------------------------------
1.「プラグインマネージャー(プラグイン管理)」に、本プラグインを追加して
ください。


-----------------------------------------------------------------------------
使い方
-----------------------------------------------------------------------------
1.プラグインパラメータPopup Message Statusに、ポップアップさせる時の
設定を指定してください。


2.以下のプラグインコマンドでポップアップを表示します。
※[]は実際の入力に使用しません

PSM_ポップアップ表示 [ポップアップID] [ポップアップ設定ID] [X座標] [Y座標] [表示時間] [文字列] [オプション]
PSM_SHOW_POPUP [popupId] [statusId] [x] [y] [duration] [text] [options]

ポップアップID(popupId)
:1 から、プラグインパラメータMax Popup Messagesで設定した
値の任意の数字を指定します。\v[n]で変数を指定することも可能です。
この値を変えることで、同時に複数の文字列を表示できます。

ポップアップ設定ID(statusId)
:プラグインパラメータPopup Message Statusで設定した内容を呼び出します。
設定時の[リスト番号-1]の値を指定してください。
\v[n]で変数を指定することも可能です。

X座標、Y座標
:ポップアップを表示する場合の、画面上の座標を指定します。
 \v[n]で変数を指定することも可能です。
 デフォルトでは文字列の左上が原点ですが、オプション(options)部に
 -c と記載することで文字列の中心を原点にできます。

表示時間(duration)
:ポップアップを表示している時間を指定します。
ここで指定した時間が経過すると、自動的に表示が消えます。
\v[n]で変数を指定することも可能です。
-1 を指定すると、ポップアップが時間経過で消えません。
この場合は、別途プラグインコマンドで消去を行ってください。

文字列(text)
:ポップアップする内容を指定します。
半角スペースは使用できません。
半角スペースを入れたい場合は \_ (アンダーバー)と入力してください。
また、以下の制御文字が使用可能です。
\v[n] \N[n] \P[n] \G

オプション(options)
:末尾に以下の文字列を入力することもできます。(順不同)
 オプションの文字列同士は半角スペースを空けてください。

-c : 指定する座標が文字列の中心になります。
入力しない場合は、文字列左上座標になります。

-s : 表示が完了するまでウェイトが掛かります。
表示時間を-1に設定した場合は無効です。


なお、以下のコマンドでポップアップ設定IDを使用せずに、直接パラメータを指定できます。

PSM_ポップアップ表示B [ポップアップID] [X座標] [Y座標] [表示時間] [文字列] [フォント] [フォントサイズ] [文字色] [イタリック] [縁色] [バウンド高さ] [時間間隔] [透明度] [オプション]
PSM_SHOW_POPUP_B [popupId] [x] [y] [duration] [text] [fontFace] [fontSize] [color] [italic] [outlineColor] [popupHeight] [offsetWait] [opacity] [options]

フォント(fontFace)以降のパラメータの意味は、プラグインパラメータと同じです。
以下のパラメータの入力方式に気をつけてください。

フォント(fontFace)
:指定しない場合は、-1 と記入してください。

文字色(color)
:赤,青,緑,グレー の形式で入力してください。
 それぞれの値は 0 ~ 255 の範囲です。半角スペースは禁止です。
 例)255,0,0,100

イタリック(italic)
:true または false と記入してください。
 true でイタリック表示です。

縁色(outlineColor)
:縁取りなしにする場合は、-1 と記入してください。


2.以下のプラグインコマンドでポップアップを移動させます。
※[]は実際の入力に使用しません

PSM_ポップアップ移動 [ポップアップID] [X座標] [Y座標] [移動時間] [オプション]
PSM_MOVE_POPUP [popupId] [x] [y] [duration] [options]

ポップアップID(popupId)
:移動したいポップアップIDを指定します。
 \v[n]で変数を指定することも可能です。

X座標、Y座標
:ポップアップの移動先の、画面上の座標を指定します。
 \v[n]で変数を指定することも可能です。

表示時間(duration)
:ポップアップを移動させる時間を指定します。
\v[n]で変数を指定することも可能です。
0 を指定すると即座に移動します。

オプション(options)
:末尾に以下の文字列を入力することもできます。

-s : 移動が完了するまでウェイトが掛かります。


3.以下のプラグインコマンドでポップアップを回転させます。
※[]は実際の入力に使用しません

PSM_ポップアップ回転 [ポップアップID] [角度] [回転]
PSM_ROTATE_POPUP [popupId] [angle] [rotate]

ポップアップID(popupId)
:回転したいポップアップIDを指定します。
 \v[n]で変数を指定することも可能です。

角度(angle)
:ポップアップを回転させる角度の増減値を指定します。(0 ~ 359)
\v[n]で変数を指定することも可能です。
ポップアップの左上を原点に、正の値で時計周り側に回転します。

回転(rotate)
:ポップアップを回転させるかどうかを指定します。
ture で、指定した角度分回転し続けます。
false で、指定した角度に変化させます。


4.以下のプラグインコマンドでポップアップの色調と透明度を変化させます。
※[]は実際の入力に使用しません

PSM_ポップアップ色調変更 [ポップアップID] [色調] [透明度] [変化時間] [オプション]
PSM_CHANGECOLOR_POPUP [popupId] [tone] [opacity] [duration] [options]

ポップアップID(popupId)
:移動したいポップアップIDを指定します。
 \v[n]で変数を指定することも可能です。

色調(tone)
:ポップアップの色調を指定します。
 赤,青,緑,グレー の形式で入力してください。
 それぞれの値は 0 ~ 255 の範囲です。半角スペースは禁止です。
 例)255,0,0,100
 -1 と入力すると、色調を変更しません。

透明度(opacity)
:ポップアップの透明度を指定します。
 \v[n]で変数を指定することも可能です。
 -1 と入力すると、透明度を変更しません。

変化時間(duration)
:ポップアップの色調と透明度を変化させる時間を指定します。
\v[n]で変数を指定することも可能です。
0 を指定すると即座に変化します。

オプション(options)
:末尾に以下の文字列を入力することもできます。

-s : 変化が完了するまでウェイトが掛かります。


4.以下のプラグインコマンドでポップアップを消去します。
※[]は実際の入力に使用しません

PSM_ポップアップ消去 [ポップアップID] [消去時間] [オプション]
PSM_ERASE_POPUP [popupId] [duration] [options]

ポップアップID(popupId)
:消去したいポップアップIDを指定します。
\v[n]で変数を指定することも可能です。

消去時間(duration)
:ポップアップを消去する時間を指定します。
ここで指定した時間が経過すると、自動的に表示が消えます。
\v[n]で変数を指定することも可能です。
指定しない場合、または 0 を指定すると即座に消えます。

オプション(options)
:末尾に以下の文字列を入力することもできます。

-s : 消去が完了するまでウェイトが掛かります。


-----------------------------------------------------------------------------
メニュー開閉とポップアップ表示について
-----------------------------------------------------------------------------
ポップアップ表示中にメニューを開閉すると、ポップアップ表示は消去されます。

プラグインパラメータ<Repop Message After Menu>を「表示する」に
設定することで、メニュー開閉後に再表示させることができます。


なお、メニュー開閉後の再表示の仕様は以下の通りです。

1.ポップアップのバウンドと、1文字ずつ表示する機能は無効。(即座に表示)
2.ポップアップの移動中にメニューを開閉すると、移動動作をキャンセルし
  移動後の場所に再表示します。
3.ポップアップの回転中にメニューを開閉すると、初期状態から再回転します。
  角度を変えた場合は、その角度を維持します。


-----------------------------------------------------------------------------
ウェイトコマンドの設定時間とポップアップ操作コマンドの実行時間について
-----------------------------------------------------------------------------
ポップアップ操作(移動、回転、色調変更)では、各操作の実行時間(duration)を
0 に設定した場合でも極短時間(1ウェイト分)ですが処理が行われます。

そのため、操作コマンドの後にウェイトコマンドを入れる場合は
最低でも、実行時間+1 のウェイトに設定してください。


なお、各操作の実行処理が完了する前に、次の操作を実行した場合は
前の処理を即座に終了させた上で、次の操作を実行します。

例)
A地点に表示したポップアップ文字列を、B地点に移動させるコマンドを実行中に
(AとB地点の途中で)、C地点に移動させるコマンドを実行した場合は、
即座にBに移動させた上で、BからC地点に移動させます。


-----------------------------------------------------------------------------
本プラグインのライセンスについて(License)
-----------------------------------------------------------------------------
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.

Copyright (c) 2018 Futokoro
http://opensource.org/licenses/mit-license.php


プラグイン公開元
https://github.com/futokoro/RPGMaker/blob/master/README.md


-----------------------------------------------------------------------------
変更来歴
-----------------------------------------------------------------------------

v1.2.5 - 2018/08/11 : 不具合修正
1. プラグイン適用前のセーブデータからゲームを実行したときのエラー回避処理を追加。

v1.2.4 - 2018/03/10 : 不具合修正、機能追加
1. ポップアップの移動実行中に、別地点への移動コマンドを実行すると
前の移動がキャンセルされて初期位置から移動してしまう不具合を修正。
2. ポップアップの操作実行時間とウェイト時間に関する注意をヘルプに追加。
3. ポップアップ表示コマンドに、文字列の中心座標を設定できる機能を追加。
4. ポップアップ動作が完了するまで、イベント処理にウェイトを掛ける機能を追加。

v1.2.3 - 2018/03/03 : 不具合修正
1. メニュー開閉時に色調と透明度が元に戻ってしまう不具合を修正。

v1.2.2 - 2018/03/03 : 不具合修正、機能追加
1. 文字の縁取りの色指定方法が間違っていたため修正。プラグインパラメータの
初期値変更。
2. ポップアップの色調と透明度を変更するコマンドを追加。
3. ポップアップ表示のパラメータを直接設定するコマンドを追加。

v1.2.1 - 2018/02/28 : ヘルプ修正
1. ポップアップ表示のプラグインコマンドの説明で、ポップアップ設定IDの記述に
誤記があったものを修正。

v1.2.0 - 2018/02/25 : 機能追加
1. メニュー開閉後にポップアップを再表示させる機能を追加。

v1.1.1 - 2018/02/24 : 不具合修正
1. $gamePartyの初期化処理が間違っていた不具合を修正。

v1.1.0 - 2018/01/06 : 機能追加
1. ポップアップを時間経過で消さない機能と、消去するコマンドを追加
2. ポップアップを移動および回転させるコマンドを追加

v1.0.0 - 2018/01/05 : 初版作成

-----------------------------------------------------------------------------
パラメータ
param Max Popup Messages
desc 画面上に表示可能な文字列の数
default 10

param Popup Message Status
desc ポップアップ表示する際の設定
複数のパターンを設定し、プラグインコマンドで呼び出し可能
type struct<popup>[]
default ["{\"fontFace\":\"\",\"fontSize\":\"28\",\"color\":\"[\\\"0\\\",\\\"0\\\",\\\"0\\\",\\\"0\\\"]\",\"italic\":\"false\",\"outlineColor\":\"15\",\"popupHeight\":\"40\",\"duration\":\"90\"}"]

param Repop Message After Menu
desc メニュー開閉後にポップアップを再度表示させるか
type boolean
on 表示させる
off 表示させない
default false

ライセンス表記
本プラグインのライセンスについて(License)
本プラグインはMITライセンスのもとで公開しています。
This plugin is released under the MIT License.
Copyright (c) 2018 Futokoro
http://opensource.org/licenses/mit-license.php
Copyright (c) 2015 Triacontane
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/futokoro/RPGMaker