自在に遠景(近景)を表示【RPGツクールMZ&MVプラグイン】

2024年06月07日

 自在に遠景(近景)を表示する機能を提供します。
 好きな座標、好きな範囲、好きな表示優先度で、好きなだけ遠景を表示できます。


 上記のような多重スクロールの演出も自在です。


 表示優先度を変更すれば、マップの上に表示する雲などの近景として表示することもできます。
 ちなみに上記の雲の影はツクール公式の素材です。
 ※以降は近景なども含めて『遠景』という用語を使います。


 マップシーンだけではなく、戦闘時にも使用可能です。
 上記はDynamicAnimationからコモンイベントを呼び出して演出しています。

 一度表示した遠景の設定を変更することもできます。
 スクロール速度や表示座標を自由に変更してください。

 なお、戦闘背景として使用する場合は、戦闘背景に合わせてDynamicAnimationを表示するプラグインのコモンイベント機能をオススメします。フェードイン前にコモンイベントを実行できるため、自然に表示させることが可能です。

目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)

MZ用プラグインコマンド(Plugin Commands MZ)

遠景を追加(AddParallax)

遠景を変更(ChangeParallax)

遠景を削除(RemoveParallax)

MV用スクリプト(Script For MV)

設定項目(Setting Items)

ID(Id)

画像(Image)

Z座標(Z)

視差をタイルに連動(ParallaxTile)

X方向のスクロール(ScrollX)

Y方向のスクロール(ScrollY)

マップX座標(MapX)

マップY座標(MapY)

横幅(Width)

縦幅(Height)

不透明度(Opacity)

時間(Duration)

オプション(Options)

戦闘中の挙動について(In Battle)

プラグインパラメータ(Plugin Parameters)

戦闘背景の表示優先度を設定(UseBattlebackSort)

戦闘背景1のZ座標(Battleback1Z)

戦闘背景2のZ座標(Battleback2Z)


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMZ用ですが、MVでも外部プラグインとの併用によってプラグインコマンドを呼び出せば使用できます。

 NRP_ParallaxesPlus.js ver1.02(2024/06/07)

更新履歴(History)


2024/06/07(ver1.02)

  • プラグインコマンドに時間の指定を追加。
    不透明度を指定した時間で徐々に変化させられます。

2023/01/04 -> 2023/11/22(ver1.01 -> 1.011)

  • 戦闘時に『マップX座標』『マップY座標』が想定通りに機能しない不具合修正。
  • 不透明度に数式を設定できるようにした。(2023/11/22 ver1.011)

2022/05/28 -> 2022/08/17(ver1.00 -> 1.002)

  • 公開!
  • マップ座標指定時、かつ画面サイズより大きな画像を指定した際、画像幅が画面サイズまでしか表示されない不具合修正。(05/29 ver1.001)
  • 『遠景を変更』機能の一部項目が機能しない不具合修正。(05/29 ver1.001)
  • カスタムメニュープラグインなど競合用に微調整。(08/17 ver1.002)

使用方法(Usage)


 必要に応じてプラグインコマンドを呼び出してください。

 なお、マップの設定自体に反映させる機能はありません。
 並列処理(+イベントの一時消去)などを利用して、マップ開始直後に表示すればよいと思います。

MZ用プラグインコマンド(Plugin Commands MZ)


遠景を追加(AddParallax)

 遠景(近景)を現在のマップまたは戦闘画面に作成&追加します。
 詳細は『設定項目』をご覧ください。

遠景を変更(ChangeParallax)

 指定IDの遠景(近景)情報を操作&変更します。
 未指定の項目は作成時の設定を引き継ぎます。

遠景を削除(RemoveParallax)

 指定したIDの遠景(近景)を削除します。
 ID未指定なら全削除します。

MV用スクリプト(Script For MV)


 当プラグインはMV用のプラグインコマンドに対応していませんが、外部プラグインを経由すれば、MZ用のプラグインコマンドをMVから呼び出すことも可能です。
 以下はcallPluginCommandMZ.js(うなぎおおとろ様)を使用した例です。

 プラグインコマンドではなく、スクリプトで実行することに注意してください。
 ※コマンド名は上記の『MZ用プラグインコマンド』、項目名は下記の『設定項目』を確認してください。
// 基本項目
const args = {};
args.Image = "StarlitSky"; // parallaxesのファイル
args.Z = 0.5;
args.MapX = 2;
args.MapY = 2;
args.Width = 240;
args.Height= 240;
args.ParallaxTile = true;

// オプション項目
args.Options = {};
args.Options.BlendMode = 1;

// プラグインコマンドを実行
callPluginCommand(this, "NRP_ParallaxesPlus", "AddParallax", args);


設定項目(Setting Items)


 プラグインコマンド(遠景を追加・変更)で使用できる項目です。
 基本的な項目は通常の遠景に準じます。

ID(Id)

 遠景を管理するIDです。
 以降の操作を行わない場合は省略可能です。

画像(Image)

 表示する遠景の画像ファイルです。
 parallaxesフォルダに配置されている画像を選択できます。

Z座標(Z)

 表示する優先度です。
 Z座標の意味は以下の通りです。

 0 : 下層タイル
 1 : 通常キャラの下
 3 : 通常キャラ
 4 : 上層タイル
 5 : 通常キャラの上
 6 : 飛行船の影
 7 : 吹き出し
 8 : アニメーション
 9 : タッチ操作の移動先

 例えば『下層タイル』と『通常キャラの下』の間に表示をしたい場合は『z = 0.5』などの値を設定できます。
 初期値は-1としていますが、これは下層タイルよりも下に表示するためです。
 なお、ツクール標準の遠景より下に表示することはできません。

視差をタイルに連動(ParallaxTile)

 画面スクロール時に遠景をタイルと同じようにスクロールさせます。
 ※ファイル名の先頭に『!』を付けた時の動作と同じです。

 さらに詳細な設定を行う場合は『オプションのX、Y方向の視差』をご覧ください。

X方向のスクロール(ScrollX)

Y方向のスクロール(ScrollY)

 横・縦方向へのスクロール速度です。数式可。

 例えば『$gameVariables.value(1) 』というように設定しておけば、後で変数の値を変更するだけでスクロール速度を変更できます。

マップX座標(MapX)

マップY座標(MapY)

 マップ上の指定した座標に遠景を配置します。
 指定した座標が始点(左上)になります。
 終点は『横幅』『縦幅』で制御してください。

 なお、マップ座標を指定するとマップ端まで遠景が無限ループする仕様が無効になります。
 そのため、X、Yの不要な側の座標を指定しないでください。例えば、Y座標を5に固定して横方向にはそのまま無限ループさせたい場合は、X座標は空欄のままにしてください。

 戦闘時も1マス=48ピクセル(システム2のタイルサイズ)で計算されます。

横幅(Width)

縦幅(Height)

 遠景を表示する横幅・縦幅です。数式可。

不透明度(Opacity)

 画像の不透明度です。0〜255が有効。
 数式も有効です。入力にはテキストモードに切り替える必要があります。
 例えば『$gameVariables.value(1)』と入力すると、変数1の値を不透明度に設定できます。以降、変数1を操作することで画像の不透明度も連動するようになります。

時間(Duration)

 不透明度の変化を完了するまでの時間です。
 1/60秒単位で指定してください。
 指定がない場合は即時反映します。

オプション(Options)

シフトX(ShiftX)

シフトY(ShiftY)

 画像を表示するX・Y座標の調整値です。数式可。

X方向の視差(ParallaxX)

Y方向の視差(ParallaxY)

 画面スクロール時、縦・縦方向の視差を設定します。

ループなし(横)(NoLoopX)

ループなし(縦)(NoLoopY)

 遠景の横・縦ループを無効にして、画像幅に合わせます。
 幅の指定より優先されます。

合成方法(BlendMode)

 画像の合成方法です。

戦闘中の挙動について(In Battle)


 マップ画面とほぼ同じ挙動ですが、以下の注意点があります。

Z座標

 標準ではZ座標を設定しても機能しません。
 NRP_DynamicMotionMZ.jsなどのZ座標ソート(表示優先度変更)を有効にするプラグインと併用する必要があります。

 また、初期状態では戦闘背景より後ろに遠景を表示することはできません。
 必要な場合はプラグインパラメータの『戦闘背景の表示優先度を設定』をオンにしてください。

マップX、Y座標

 マップ画面とほぼ同じ挙動になります。
 戦闘中はタイルが存在しませんので、1マス=48ピクセル(システム2のタイルサイズ)として計算します。

プラグインパラメータ(Plugin Parameters)


戦闘背景の表示優先度を設定(UseBattlebackSort)

 戦闘背景の表示優先度(Z座標ソート)を有効化します。
 必ずZ座標ソートを行うプラグインと併用してください。

戦闘背景1のZ座標(Battleback1Z)

 戦闘背景1(下)の表示優先度です。

戦闘背景2のZ座標(Battleback2Z)

 戦闘背景2(上)の表示優先度です。

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