/*:ja * @plugindesc (v.1.0) 視差マッピング、霧などの画像レイヤーを作成します。 * @url http://galvs-scripts.com * @target MZ * @author Galv * * @help * 翻訳:ムノクラ * https://fungamemake.com/ * https://twitter.com/munokura/ * * 元プラグイン: * https://galvs-scripts.com/2020/08/24/mz-layer-graphics/ * * Galv's Layer Graphics MZ * --------------------------------------------------------------------------- * 開始する前に、プロジェクトにレイヤーフォルダーを作成する必要があります。 * /img/layers/ * これは、全てのレイヤー画像が取得される場所です。 * * 各マップには多くの画像レイヤーを含めることができますが、 * マップの数が多いほど、ゲームが重くなる可能性が高くなることに * 注意してください(特に低速のコンピューター/モバイルデバイスの場合)。 * * レイヤーは作成されると保存されるので、 * プレイヤーがマップに入る前にマップのレイヤーを設定できます。 * レイヤーはマップの作成時に作成されるため、 * 現在のマップで作成されたレイヤーコマンドの場合、 * 'Refresh Layer'プラグインコマンドを使用して、 * 同じマップ上にあるレイヤーを強制的に表示します。 * * --------------------------------------------------------------------------- * プラグインコマンド * --------------------------------------------------------------------------- * * 以下は、使用可能なコマンドとイベントの「プラグインコマンド」です。 * * Create Layer(レイヤーを作成) * - 指定されたマップ上のレイヤーの設定を作成します。 * 現在のマップには0を使用します。 * * Create Static Layer(静的レイヤーを作成) * - マップに固定する繰り返しのないレイヤーを作成します。 * * Remove Layer(レイヤーを削除) * - 指定されたマップ上のレイヤーを削除します。 * * Refresh Layer(レイヤーを更新) * - レイヤーを再表示します。 * 現在のマップのイベント内に新しいレイヤーを追加する場合のみ必要です。 * レイヤーを作成した後は使用する必要はありません。 * マップが読み込まれた時、表示されます。 * * * * 引数の説明: * Map ID * - レイヤーを作成するマップのID * Layer ID * - レイヤー自体のID。 * 既存のレイヤーを変更/削除する場合、IDで参照します。 * Graphic * - 画像のファイル名(/img/layers/内) * X Speed * -水平移動の速度。負の値は左に行く * Y Speed * - 垂直移動の速度。負の値は上に行く * Opacity * - 画像の透明度(0-255) * Z Level * - 画像の優先度。 0 =グラウンド、5 =全てのキャラクターの上 * X Shift * - プレイヤーの動きとは異なる水平移動シフト * Y Shift * - プレイヤーの動きとは異なる縦の動きのシフト。 * XシフトとYシフト=0にしてマップと一緒に移動します * Blend * - 合成方法(0=通常、1=加算、2=乗算、3=スクリーン) * 29まではモードがあるようです * * X * - 静的レイヤーのx位置。 * Y * - 静的レイヤーのy位置。 * X Anchor * - 左0、中央0.5、右1-上のX位置に設定されている画像の部分。 * Y Anchor * - 左0、中央0.5、右1 - 画像の上のY位置に設定されている部分。 * Character * - なしの場合は0、プレーヤーの場合は-1、特定のイベントの場合は0より上 * Rotate * - キャラクターが向いている方向に応じてスプライトの回転の指定。 * 回転を有効:1 / 無効:0 * 用意する画像は下を向いている表示になります。 * キャラクターセットがない場合、機能しません * * --------------------------------------------------------------------------- * 変数機能:vXを入力できます。 * Xは、プラグインコマンドに変数の値を使用する変数IDです。 * * 例: * 不透明度の設定にv2を入れると、変数2に保存されている数値が取得され、 * プラグインコマンドが呼び出されたときに使用されます。 * --------------------------------------------------------------------------- * マップのメモ * --------------------------------------------------------------------------- * プラグインコマンドを使用することに加えて、 * 各マップにレイヤーを設定できます。 * マップ設定のメモ欄に以下のテキストを使用して行います。 * * LAYER ID GRAPHIC XSPEED YSPEED OPACITY Z XSHIFT YSHIFT BLEND * * LAYER_S ID GRAPHIC X Y OPACITY Z BLEND XANCHOR YANCHOR CHARACTER ROTATE * * 一番上の例は、視差レイヤーを繰り返す場合です。 * LAYER_Sは静的レイヤーを追加します。 * これらのレイヤーは、プラグインコマンドを使用して通常どおり変更できます。 * * メモ欄のテキストの例: * LAYER 1 trees 0 0 255 5 10 0 0 * LAYER_S 2 fog 80 64 85 12 0.5 0.5 0 * --------------------------------------------------------------------------- * * --------------------------------------------------------------------------- * スクリプト * --------------------------------------------------------------------------- * 上級ユーザー向け。レイヤーのプロパティには、スクリプトでアクセスできます。 * $gameMap.layerSettings[mapId][layerId].property * * --------------------------------------------------------------------------- * * --------------------------------------------------------------------------- * スクリプト - 戦闘レイヤー * --------------------------------------------------------------------------- * * Galv.LG.bLayer(id,'graphic',xspeed,yspeed,opacity,z,blend); * * 戦闘レイヤーはこのスクリプトで制御されます。 * プラグインコマンドは使用しませんが、 * 値は上記のプラグインコマンドと同じです(マップIDなし)。 * 一度設定すると、戦闘レイヤーは変更されるまで、全ての戦闘で持続します。 * * BATTLE Z LEVEL * - 少し異なります。小数は使用できません。 * 0 * - 敵の後ろ * 2 * - 敵に等しい(おそらくこれは使わないでしょう) * 3+ * - 敵の上 * * レイヤーを削除するには、IDのみを指定して同じ呼び出しを使用します。 * 例: * * Galv.LG.bLayer(id); * * @param fixPosition * @text 戦闘シーンの位置修正 * @type boolean * @on 修正有効化 * @off 修正無効化 * @default true * @desc 戦闘シーンの左右の隙間をなくします。互換性の問題がある場合、無効にします * * @command create * @text レイヤーを作成 * @desc 指定した設定でレイヤーを作成します * * @arg mapId * @type number * @min 1 * @default 0 * @text マップID * @desc レイヤーを作成するマップID * * @arg layerId * @type number * @min 0 * @default 0 * @text レイヤーID * @desc 開発中に参照するレイヤーID * * @arg graphic * @default * @text 画像 * @type file * @dir img/layers/ * @desc 画像ファイル名(/img/layers/内) * * @arg xSpeed * @default 0 * @text X速度 * @desc 水平移動の速度。負の値は左に * * @arg ySpeed * @default 0 * @text Y速度 * @desc 垂直移動の速度。負の値は上に * * @arg opacity * @type number * @min 0 * @max 255 * @default 255 * @text 不透明度 * @desc レイヤーの不透明度(0から255) * * @arg zLevel * @default 10 * @text Zレベル * @desc レイヤーのZレベル(負の値と小数を使用できます) 0=グラウンド、5=全キャラクターの上 * * @arg xShift * @default 0 * @text Xシフト * @desc 視差効果を作成するためにプレイヤーの動きとは異なる水平方向の動きのシフト。マップとともに移動するには0 * * @arg yShift * @default 0 * @text Yシフト * @desc 視差効果を作成するためにプレイヤーの動きとは異なる垂直方向の動きのシフト。マップとともに移動するには0 * * @arg blendMode * @type number * @min 0 * @default 0 * @text 合成方法 * @desc 合成方法(0=通常、1=加算、2=乗算、3=スクリーン)...と明らかに最大29の異なるもの * * * @command createStatic * @text 静的レイヤーを作成 * @desc 指定した設定で静的レイヤーを作成します * * @arg mapId * @type number * @min 1 * @default 0 * @text マップID * @desc レイヤーを作成するマップID * * @arg layerId * @type number * @min 0 * @default 0 * @text レイヤーID * @desc 開発中に参照するレイヤーID * * @arg graphic * @text 画像 * @type file * @dir img/layers/ * @desc 画像ファイル名(/img/layers/内) * @default * * @arg xPosition * @text X位置 * @default 0 * @desc マップ上の静的レイヤーのx(水平)位置 * * @arg yPosition * @text Y位置 * @default 0 * @desc マップ上の静的レイヤーのy(垂直)位置 * * @arg opacity * @type number * @min 0 * @max 255 * @default 255 * @text 不透明度 * @desc レイヤーの不透明度(0から255) * * @arg zLevel * @default 0 * @text Zレベル * @desc レイヤーのZレベル(負と小数を使用できます) 0=地面、5=全キャラクターの上 * * @arg blendMode * @type number * @min 0 * @default 0 * @text 合成方法 * @desc 合成方法(0=通常、1=加算、2=乗算、3=スクリーン)...と明らかに最大29の異なるもの * * @arg xAnchor * @default 0 * @text Xアンカー * @desc x値を中心とした画像の位置(左0、中央0.5、右1) * * @arg yAnchor * @default 0 * @text Yアンカー * @desc y値を中心とした画像の位置(左0、中央0.5、右1) * * @arg char * @default 0 * @text キャラクター * @desc なしの場合は0、プレーヤーの場合は-1、静的画像が配置される特定のイベントIDの場合は0より大きい * * @arg rotate * @type number * @min 0 * @max 1 * @default 0 * @text 回転 * @desc キャラクターの向いている方向に合わせて回転。有効:1 / 無効:0 * * * @command remove * @text レイヤーを削除 * @desc マップからレイヤーを削除します * * @arg removeMapId * @type number * @default 0 * @text マップID * @desc 削除するレイヤを含むマップID * * @arg removeLayerId * @type number * @min 0 * @default 0 * @text レイヤーID * @desc 削除するレイヤーのレイヤーID * * * @command refresh * @text レイヤーを更新 * @desc 現在のマップでレイヤーが追加/削除された場合にのみ実行する必要があります * */