気ままにゲーム作りやお絵描きをしています。
何か不具合ありましたらお気軽にお声がけください。プルリクも歓迎です٩( ''ω'' )و
DP Map Zoom - DP_MapZoom.js
▼DP Map Zoom(canotun様作) - DP_MapZoom.js
https://plugin.fungamemake.com/archives/12808
マップシーンの拡大率を変更します。
ふりがな:まっぷずーむ
機能概要: マップシーンの拡大率を変更します。
利用規約(ライセンス): MITライセンス
作者:canotun
作者サイト:https://twitter.com/canotun
解説ページ:https://tm.lucky-duet.com/viewtopic.php?t=353
ダウンロードページ:https://raw.githubusercontent.com/drowsepost/rpgmaker-m…
ファイル名:DP_MapZoom.js
プラグインのヘルプ:
/*:ja * @plugindesc マップの拡大率を制御します。 * @author drowsepost * * @param Base Scale * @desc 基本の拡大率を設定します。(0以上) * Default: 1 * @default 1 * * @param Encount Effect * @desc エンカウントエフェクトに拡大率を反映 * Default: true (ON: true / OFF: false) * @default true * @type boolean * * @param Camera Controll * @desc 拡大処理中のセンタリング制御をこのプラグインが行う * Default: true (ON: true / OFF: false / 最小: minimum) * @default true * @type select * @option ON * @value true * @option OFF * @value false * @option Minimum * @value minimum * * @param Weather Patch * @desc 天候スプライトの生成範囲を広げる修正を適用します。 * Default: true (ON: true / OFF: false) * @default true * @type boolean * * @param Picture Size Fixation * @desc ピクチャをマップの拡大処理から除外します * Default: ALL (ALL: true / OFF: false / $ / screen_ / fix_) * @default true * @type select * @option OFF * @value false * @option ALL * @value true * @option $ * @value $ * @option screen_ * @value screen_ * @option fix_ * @value fix_ * * @param Old Focus * @desc 古いバージョンの追跡なしのフォーカスを使用します。 * Default: false (ON: true / OFF: false) * @default false * @type boolean * * @param Easing Function * @desc アニメーションのイージング式。 * 引数 t (0.00~1.00) 戻り値 数値(0.00~1.00) Default: t * @default t * @type string * * @help * ============================================================================ * About * ============================================================================ * 各種座標処理に拡大率の計算を反映し * マップシーンの拡大率を制御します。 * また、指定したイベントをカメラが追うように指定します。 * 標準のフォーカス対象は先頭のプレイヤーとなります。 * * ============================================================================ * Knowing issue * ============================================================================ * 巨大なマップにおいて拡大率をあまりに小さくすると * canvasモードで処理落ち、webglモードでマップ欠けの問題が発生します。 * これはPIXIライブラリの限界であり、解決方法は調査中です * * ============================================================================ * How To Use * ============================================================================ * ◆ マップメモ欄 * * <zoomScale:0.5> * などと記述すると、マップごとに基準になる拡大率を指定することが出来ます。 * * <camTarget: 3> * 等と記述すると、イベントID n番のイベントが画面中央になった状態にできます。 * フォーカスはイベントの移動に画面が追従します。 * * ◆ プラグインコマンド * * (1)ズーム機能 * dpZoom {倍率} {変更にかけるフレーム数} {対象イベントID / this / player} * 指定したイベントにフォーカスを合わせつつ画面の拡大率を変更できます。 * 第3引数に何も指定しない場合、画面中央に向かって拡大します。 * * 例: * プラグインコマンドにおいて対象イベントの部分に * 「this」もしくは「このイベント」と指定すると、 * イベント実行中のオブジェクトを指定します。 * dpZoom 2 360 this * たとえば上記はそのイベントが中心になるように6秒かけて2倍の拡大率に変化します。 * <非推奨> mapSetZoom は利用できますが、非推奨とします。 * * (2)フォーカス機能 * dpFocus {対象イベントID / this / player} {変更にかけるフレーム数} * 画面の拡大率を変更せずに指定したイベントにフォーカスを合わせます。 * * ============================================================================ * Settings * ============================================================================ * Base Scale * ゲーム開始時の拡大倍率を指定します。 * 倍率には0以上を指定してください。 * * Encount Effect * エンカウントエフェクトを置き換えるかどうかを指定します。 * オリジナルのエフェクトで置き換えている場合はこちらをfalseにしてください。 * しかしその場合、画面の拡大率をそれぞれ反映できるように調整する必要があります。 * * Camera Controll * falseの場合はイベントを指定した拡大を含む拡大中のカメラ制御は動作しません。 * 別プラグインでカメラ制御を行う場合にご利用ください。 * * Weather Patch * trueの場合、天候スプライトの生成範囲に関する修正を行い、 * 拡大率変更後も天候スプライトをまんべんなく分布させます * 別プラグインで天候演出の制御を行っている場合等はfalseにしてください。 * * Picture Size Fixation * trueの場合、ピクチャを拡大処理から除外します。 * * Old Focus * trueの場合、古いDP_MapZoom.jsと同様のフォーカス処理を行います。 * このフォーカス処理は対象イベントまでの座標のずれを基準にしているため、 * イベントの移動を追尾しません。 * * Easing Function * ズーム時のイージングを主に0から1の間で戻す式を設定できます。 * 引数 t にズームの進捗が0から1で入ります。JavaScript。 * * ============================================================================ * Technical information * ============================================================================ * 現在の画面の拡大率は$gameScreen.zoomScale()で取得できます。 * これはプラグインの利用に関わらず元から存在する関数です。 * 他のプラグインで利用する「screenX」や「screenY」がずれる場合は、 * 「screenX」や「screenY」にそれぞれ$gameScreen.zoomScale()を掛けて下さい。 * * このプラグインは$gameScreenを制御します。 * * 指定された拡大率設定は$gameMap._dp_scaleが保持します。 * シーン離脱時のスクロール量は$gameMap._dp_panが保持します。 * マップのフォーカスイベントは$gameMap._dp_targetが保持します。 * */