戦闘メッセージのレイアウトを変更【RPGツクールMZ&MVプラグイン】

2023年09月23日

 戦闘メッセージのレイアウトを変更するプラグインです。
 ウィンドウの配置や大きさなどを変更可能です。


 行動順序の画面表示プラグインとの併用を想定して作ったものですが、それ以外の用途にも使えます。

 主な特徴は以下の通りです。

  • 公式プラグインのSimpleMsgSideViewに対応。
    MZ版のSimpleMsgSideViewMZも大丈夫です。
  • グラデーションに対応。
  • 通常ウィンドウ(枠付き)に切替可能。
  • 背景色や透明度を変更可能。
  • メッセージが長い場合、ウィンドウ幅に合わせて縮小。
  • 反対に文字列長にウィンドウ幅を合わせることも可能。
  • スキルのメモ欄に<NoName>と記述すればスキル名を非表示に。

目次


導入方法

更新履歴

使用例

右空け&グラデーション

ドラクエスタイル

枠付き中央

味方と敵で位置を変更

バトラーの頭上


プラグインパラメータ(配置関連)

X座標(x)

Y座標(y)

前面表示する(showFront)


プラグインパラメータ(サイズ関連)

横幅(width)

横幅を文字数に合わせる(autoWidth)

一行の縦幅(lineHeight)


プラグインパラメータ(メッセージ関連)

フォントサイズ(fontSize)

メッセージの余白(padding)


プラグインパラメータ(背景関連)

通常ウィンドウにする(normalWindow)

背景色(backColor)

背景不透明度(backPaintOpacity)

グラデーション方式(gradientType)

開始グラデーション幅(startGradientSize)

終了グラデーション幅(endGradientSize)


導入方法


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_WindowBattleLogLayout.js ver1.05(2023/09/23)

更新履歴


2023/09/23(ver1.05)

  • スキル名を非表示にした際にアニメーションより先にダメージが表示される不具合修正。
    ※恐らくDynamicAnimation未使用の環境で発生。

2022/01/31 -> 2023/01/18(ver1.04 -> 1.041)

  • CounterExtend.jsとの競合対策用に『横幅を文字数に合わせる』場合の挙動を微調整。
  • ウィンドウの右寄せ方法を追記。(2022/04/23)
  • 競合によって数式使用時にエラーとなる問題への対策。
    (2023/01/18 ver1.041)

2020/10/23(ver1.03)

  • スキルのメモ欄に<NoName>と記述すればスキル名を非表示に。

2020/08/27(ver1.02 -> 1.021)

  • ツクールMZに対応。
  • フロントビューでエラーになる不具合修正。(ver1.021)

2020/06/17(ver1.01)

  • 英語対応。

2020/05/01(ver1.00)

  • 公開!

使用例


右空け&グラデーション

 右側を空けることによって、行動順序にかぶらないようにしています。さらに横向きグラデーションをかけて切れ目を自然にしました。


  • 横幅:this.windowWidth() - 150
  • 背景不透明度:128
  • グラデーション方式:1(横)
  • 開始グラデーション幅:0
  • 終了グラデーション幅:200

 『this.windowWidth()』は画面全体の横幅です。-150して画面右側を150ピクセル空けてみました。
 背景不透明度は初期値の64だと、透明度が高すぎてグラデーションが分かりにくかったので濃くしました。お好みでどうぞ。
 終了グラデーション幅だけに値を入れることで、右側だけにグラデーションをかけています。

ドラクエスタイル

 画面下にメッセージを表示するドラクエスタイルです。


  • Y座標:446
  • 前面表示する:true
  • 通常ウィンドウにする:true

 前面表示にしないとステータスの下に隠れてしまいます。
 実用性は怪しいですが、その他のレイアウト変更系プラグインと組合わせれば使えるかもしれません。
 ※MZでは下のウィンドウが消えるので挙動が怪しいです。

枠付き中央

 SimpleMsgSideViewとの併用によって、枠付きウィンドウで中央にスキル名を表示します。


  • SimpleMsgSideViewプラグインをON
  • X座標:this.windowWidth() / 2 - this.width / 2
  • Y座標:20
  • 横幅:300
  • 通常ウィンドウにする:true

 X座標の式は中央寄せするためのものです。『this.windowWidth() / 2』で画面幅の半分、『this.width / 2』でウィンドウ幅の半分となります。

 Y座標や横幅、メッセージの余白などはお好みで調整してください。
 なお、枠内にスキル名が収まらない場合は縮小表示されます。

味方と敵で位置を変更

 使用者がアクターなら右上、敵キャラなら左上にスキル名を表示します。


  • SimpleMsgSideViewプラグインをON
  • X座標:a._enemy ? 20 : 380
  • Y座標:20
  • 横幅:300
  • 通常ウィンドウにする:true

 『a』で行動主体のスプライト情報を参照できます。
 『a.x』『a.y』でX・Y座標、『a.width』『a.height』で横幅・縦幅が参照できます。
 『a._enemy』は行動主体が敵の場合のみ値が入ります。

 『a._enemy ? 20 : 380』というのは『a._enemy』が有効(=敵)の場合は20、それ以外(=味方)は380がX座標になるという意味です。

右寄せ(2022/04/23)

 スキル使用者がアクターの場合にウィンドウを右寄せしたい場合は、X座標を『a._enemy ? 20 : 660 - this.width』というように変更すればOKです。
 ウィンドウサイズ(this.width)を減算することで、ウィンドウが横長になった場合でも自動で左にズレるように調整しています。

バトラーの頭上

 ロマサガシリーズのようにキャラの頭上にスキル名を表示します。


  • SimpleMsgSideViewプラグインをON
  • X座標:a.x - this.width / 2
  • Y座標:a.y - a.height - 80
  • 前面表示する:true
  • 横幅:300
  • 通常ウィンドウにする:true

 ただし、演出中も消えないので邪魔です。もう一工夫しないと実用には耐えないかも……。
 それでも書いておけば、誰かの役に立ったりしませんかね。

プラグインパラメータ(配置関連)


X座標(x)

Y座標(y)

 ウィンドウのX座標とY座標です。(数式可)

前面表示する(showFront)

 ウィンドウを前面表示します。
 下位のプラグインで制御しているウィンドウに対しては、前面表示できない場合があります。(主にNRP_VisualTurn.jsを想定)
 その場合、プラグイン一覧で並び順を調整してください。

プラグインパラメータ(サイズ関連)


横幅(width)

 ウィンドウの横幅です。(数式可)
 初期値の『this.windowWidth()』は、画面横幅に一致します。

 例えば『this.windowWidth() - 200』に変更すると、画面幅より200ピクセル短くなります。もちろん、普通に数値を入れても構いません。

横幅を文字幅に合わせる(autoWidth)

 ウィンドウの横幅を文字数に合わせて自動調整します。
 初期状態ではオフになっています。
 オンにした場合も、↑の『横幅』が最大サイズとなります。

 基本的にSimpleMsgSideViewとの併用を想定しています。

一行の縦幅(lineHeight)

 一行の縦幅です。
 初期値は36です。

プラグインパラメータ(メッセージ関連)


フォントサイズ(fontSize)

 フォントの大きさを指定します。
 初期値は28です。

メッセージの余白(padding)

 ウィンドウとメッセージ間の余白を指定します。
 初期値は18です。

プラグインパラメータ(背景関連)


通常ウィンドウにする(normalWindow)

 通常メッセージと同様の枠付きウィンドウに変更します。
 なお、オンにした場合は以下「背景色〜グラデーション」の項目はいずれも無効となります。

背景色(backColor)

 背景色を指定します。
 16進数でRGB値(参考)を指定してください。初期値の『#000000』は黒となります

背景不透明度(backPaintOpacity)

 背景の不透明度を指定します。
 初期値は64です。

グラデーション方式(gradientType)

 ウィンドウのグラデーション方向を選択できます。
 横と縦が選択可能です。

開始グラデーション幅(startGradientSize)

終了グラデーション幅(endGradientSize)

 開始〜終了側のグラデーション幅です。(数式可)
 いずれも初期値は18です。

 グラデーション方式が『横』の場合、左から右。
 グラデーション方式が『縦』の場合、上から下となります。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 16:03 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする