ページ 1 / 1
通ったタイルを通行不能にしたい
Posted: 2024年4月20日(土) 15:29
by 累積比率パレートマン
エンジニアの皆様
お疲れ様です。
ゼルダっぽいアクションRPGを作っています(プレイヤーパーティーは一人固定です)。
特定のステートにかかった状態で通ったタイルを通行不能にしたいのですが
イベントではなくマップタイルを通行不能にしていくようにすることは可能でしょうか?
そのようなことが実現できそうなプラグインがありましたら、ご教示いただけますと幸いに存じます。
何卒、宜しくお願い申し上げます。
Re: 通ったタイルを通行不能にしたい
Posted: 2024年4月22日(月) 14:56
by 剣崎 宗二
実作業の時間が取れませんので、取り急ぎ、新規プラグインを作った場合大まかな行うべきロジックだけ示します。
1. Game_Player.prototype.moveStraight 改変
実行完了後に、プレイヤーに指定されたステートがある場合、現在座標をGame_MapにあるArrayに記録する
2. Game_Map.prototype.isPassable 改変
Game_MapにあるArrayに、その座標がある場合falseを返す
この2つだけでも述べられた部分は実装できるかとは思います。
後は、マップ移動した際にその通行不可になった部分が元に戻るか、などで色々追加の動きは必要になるかとは思いますね。
Re: 通ったタイルを通行不能にしたい
Posted: 2024年4月22日(月) 22:11
by 累積比率パレートマン
剣崎様
貴重な助言を下さり、ありがとうございます!
いただいた情報を元に、コアスクリプトを眺めながら考えてみようと思います。
・・・・・し、しかし、すみません。
MZで作っているのにMVで質問してしまったことに今さら気づいてしまいました。
MZの場合、マップの取り扱いが異なりますよね?
同じく、 Game_Player.prototype.moveStraightと
Game_Map.prototype.isPassableのやり取りで、実現できますでしょうか?
Re: 通ったタイルを通行不能にしたい
Posted: 2024年4月24日(水) 16:58
by 剣崎 宗二
こちら私のざっくりした確認ですと、同じ動作のはずです。何をしているのか根本的に説明しますと:
1. プレイヤーが移動した際に、移動し終えたパネルの座標を記録する
2. 通行可能判定の際に、上記で記録した座標のいずれかに該当する際、強制的にfalse(通行不可)を返す
と言うだけの話ですので…