【ウディタ】NPCの他マップへの自由移動

今のところ、NPCは事実上色んなマップに存在できる(行ける)ようになり、さらに主人公が会話中であっても好き勝手に移動できるようになりました。


ここまである程度NPCに自由を持たせてきたので、いっそ主人公が別マップに移動できるように、NPCもリアルタイムでマップ間を自由に移動できるようにしてみようと思います。


僕の名前にも「NPC」って入ってるので。(それは別に関係ない


基本的な考えとしてはこう↓

  1. 主人公は出入り口(マップEv)に接触、もしくは決定キー入力でイベントを起動し、別のマップに移動できる
  2. 出入り口(マップEv)はNPC(他のマップEv)と接触したことを条件にイベントを起動できない

⇒じゃあマップEvとマップEvの接触を検知さえできれば実現できるのでは?

イベント接触感知

出入り口(マップEv)の周りの8マスにマップEvが存在するならそのIDを返すコモンEv[イベント接触感知]を作成。

一応、特定のマップEv(一個まで)は無視可能

キャラ退室&移動


変な場所にウェイトがあるなと思うかもしれないけど、これについて解説すると長くなるのでこっちで。

キャラ存在確認


特定の部屋に主人公が勝手に入室できなかったように、NPCもそうであるべきだと思うので。


動作確認


確認のためにマップEvを押して移動させる処理を作って無理矢理移動させてますが、実際には放っておいても勝手に出入り口(マップEv)に接触したタイミングでちゃんとマップから消えます。


ああそれと、フキダシ表示コモンを応用して左下に退出ログを表示するようにしました。