RPGツクールMVのレイヤーについて

返信する
アリス
記事: 5
登録日時: 2021年1月29日(金) 14:37

RPGツクールMVのレイヤーについて

投稿記事 by アリス »

お世話になります。
--前置き、試したこと--
通過できる、かつキャラの向いている方向1マス先にあれば選択可能なイベントを作りたく試行錯誤していたところ、
現在、添付写真のように、
スクリーンショット 2021-11-24 9.11.26.png
タイルBの看板のオブジェクトは
プライオリティが通常キャラと同じで、
すり抜け可能なオブジェクトであり、
ハロルドが剣を装備しているときにスイッチ#0002がONになり、
スクリーンショット 2021-11-24 9.11.51.png
かまくらの画像に変更される仕様にしました。

しかし、画像のように、
スクリーンショット 2021-11-23 13.36.18.png
スクリーンショット 2021-11-23 13.36.18.png (217.54 KiB) 閲覧された回数 1066 回
通常キャラと同じプライオリティにタイルBを設定しているために、ハロルドよりも上にかまくらが表示されてしまいます。

プライオリティを通常キャラより下にしてしまえばキャラの下に画像は表示されるものの、これだと、一番最初に書きました、1マス先にあれば選択可能なイベントではなく、キャラが立っているマスにある選択可能なイベントとなってしまい、思った挙動ができません。

--本題--
そこで、前置きが長くなったのですが、1マス先に選択可能なイベントかつ、キャラの下に配置される状態にできるプラグイン、
もしくはレイヤーの並び替え順を、いじる方法をどなたかご教授願えないでしょうか...
特定の地形タグがあるタイルBだけ、レイヤーをキャラの下まで下げる、またはキャラの正面にイベントがあれば、プライオリティ関係なしに選択できるプラグインがあればできるとは思うのですが、どちらもどのようなプラグインを作ればいいのかわからず...

よろしくお願いします。
添付ファイル
スクリーンショット 2021-11-23 13.36.30.png
アバター
WTR
記事: 625
登録日時: 2015年12月22日(火) 19:14

Re: RPGツクールMVのレイヤーについて

投稿記事 by WTR »

rpg_objects.js 7614行目
Game_Player.prototype.startMapEvent

を弄ったらどうにかなりそうです。コレ↓

コード: 全て選択

Game_Player.prototype.startMapEvent = function(x, y, triggers, normal) {
    if (!$gameMap.isEventRunning()) {
        $gameMap.eventsXy(x, y).forEach(function(event) {
            if (event.isTriggerIn(triggers) && event.isNormalPriority() === normal) {
                event.start();
            }
        });
    }
};

コード: 全て選択

event.isNormalPriority() === normal

でプライオリティによって起動するかしないか分けてますね。

7891行目 Game_Player.prototype.checkEventTriggerThere のなかでこの startMapEvent が呼ばれています。

event.isNormalPriority() === normal この条件を消してしまえばプライオリティ関係なく起動しますが
まるっきり仕様を変えてしまうのは不都合があるかもしれないので
メモ欄とか使って指定したイベントのみを対象に処理分けする…とかがよさげな気がします。
Twitter、はじめました。
https://twitter.com/wtr_in_reverie/
返信する

“MV:質問”に戻る