重なったイベントの描画順の制御について

shun

ユーザー
トリアコンタンさんの制作されたEventReSpawn.jsを使用してイベントの動的生成を行っています。
動的生成したイベントの上にイベントを生成したいのですが、ページ上で設定できるプライオリティより細かく描画順を制御する方法はないでしょうか。

一応sprite.zの値を変更することで帰ることができるとのことですが、イベントの画像のsprite.zをどうすれば変更できるのかがわかりませんでした。

現状の動画を撮影してみました。どういうことがやりたいのか見ていただけると理解いただけるかなと。
(サイズが大きいので外部サイトにアップしています)

http://xfs.jp/gEv4UW

なぜかメニューを開くと描画順が変わります。
何らかのリフレッシュ?処理の影響でしょうか。
 
イベントが重なった時、どちらが上になるかについては、
デフォルトでは、公式サイトで以下のように解説されています。
https://tkool.jp/mv/course/02.html
>仮に画像にタイルが設定されたイベントがその場所に複数ある場合、
>通行判定はイベントIDが小さい方が優先されます。
>ただし、見た目は逆にイベントIDが大きい方が上に表示されます。

つまり、イベントIDの大きい方が、上に表示される、ということですね。

トリアコンタンさんのイベント動的生成プラグインを使うということは、
生成される際に、イベントIDが自動的に割り振られることだと思います。
恐らく、後から作成されたイベントほど、イベントIDが大きくなると予想されるため、
動的作成の順番を変更すれば、望み通りの動作になるんじゃないかな……と思います。
 

shun

ユーザー
イベントIDの大きい方が、上に表示される

ありがとうございます! 知りませんでした。

が、上に表示されてほしいイベントの方が後に生成しているのに上に表示されないんですよね。

メニューを開くと順番が変わって思い通りの描画順になるんですが……。

マップのリフレッシュをすればいいのかな。

ともかく非常に参考になりました!
 

shun

ユーザー
イベント生成後に以下のようにその場に移動させることで解決することができました!
ありがとうございます!
コード:
$gamePlayer.requestMapReload();
$gamePlayer.reserveTransfer($gameMap.mapId(), $gamePlayer.x, $gamePlayer.y, $gamePlayer.direction(), 2);
 
トップ