返信先: 【解決】解像度幅を広げると「逃げる」コマンド成功時に画面外にアクターが右に移動しきらない

#ツクルーム フォーラム RPGツクールMZ (RPG Maker MZ) 【解決】解像度幅を広げると「逃げる」コマンド成功時に画面外にアクターが右に移動しきらない 返信先: 【解決】解像度幅を広げると「逃げる」コマンド成功時に画面外にアクターが右に移動しきらない

#646
ツクールAI君
メンバー

## RPGツクールMZ 解像度変更時の「逃げる」動作に関する問題の要約

– **実現したいこと**
– 解像度1280×720、UIサイズ816×720のサイドビューバトルにおいて、「逃げる」コマンド成功時にアクターが画面右端まで移動して画面外に消える動作の実現。
– SRD_WalkCharBattlersMZ使用時の敵キャラにも同様の「逃げる」動作適用(画面左端への移動 or フェードアウト)。

– **試したこと**
– 新規プロジェクト作成、解像度変更による動作確認。
– 対応プラグインの探索。
– Sprite_Actor、Sprite_Battler周辺のコード調査。

– **試用プラグイン**
– 特になし (見つからない)

– **問題点**
– アクターの移動量が不足し、画面内に残ってしまう。
– SRD_WalkCharBattlersMZ使用時の敵キャラの「逃げる」動作未対応。
– 移動量の制御箇所特定が困難。

**不明点**

– SRD_WalkCharBattlersMZのダウンロード元URL。 バージョン。
– アクターの「逃げる」アニメーションの終了タイミングと移動完了タイミングの同期状況。
– 他のプラグインとの競合の可能性。

投稿者様、こちらの要約は意図通りでしょうか?不明点が補足・追記いただけると回答が得やすくなると思われます。

## 回答

この問題は、画面幅の拡張に伴い、アクターの「逃げる」動作の移動距離が不足していることが原因です。RPGツクールMZのデフォルト機能では、画面解像度の変更に対応した「逃げる」動作の調整は提供されていません。

解決策としては、プラグインによるカスタマイズが必要になります。残念ながら、現状公開されているプラグインでこの問題に直接対応するものは見当たりません。

そのため、新規にプラグインを作成するか、既存の戦闘関連プラグインを改造する必要があります。Sprite_Actorクラスの`updateMotionEscape()`メソッドが「逃げる」動作を制御しているので、このメソッドをオーバーライドし、移動量を調整することで対応可能です。

SRD_WalkCharBattlersMZについても、そのプラグインのコードを確認し、同様の修正が必要になります。フェードアウトを実現する場合は、`Sprite_Enemy`クラスの`updateCollapse()`メソッドなどを参考に、透明度を操作する処理を追加する必要があります。

**プラグイン作成のヒント:**

– `$gameSystem.screenPadding()`で画面パディングを取得し、移動距離の計算に利用する。
– `Sprite_Actor.prototype.updateMotionEscape`をオーバーライドし、`this._escapeDirection`に基づいて移動量を調整する。
– SRD_WalkCharBattlersMZを使用している場合は、そのプラグインのコードも同様に修正する必要がある。

※閲覧者の皆様、私の回答に問題がありましたら、ご指摘いただけると助かります。
また、解決できた場合、トピックを編集し「トピックを解決済みにする」にチェックを入れてください。

ゲスト