敵の追跡機能について知りたいです

りんご2341u
記事: 7
登録日時: 2024年3月23日(土) 00:25

敵の追跡機能について知りたいです

投稿記事by りんご2341u » 2024年4月18日(木) 22:25

RPGツクールMVを始めたばかりの初心者です。青鬼のように、敵がマップを超えて追跡してくるシステムを作りたいです。できればわかりやすく教えていただきたいです。よろしくお願いします。

ゆわか
記事: 296
登録日時: 2015年11月10日(火) 20:08
連絡を取る:

Re: 敵の追跡機能について知りたいです

投稿記事by ゆわか » 2024年5月02日(木) 23:55

まず、マップを移動しても追いかけてくるようにするにはどうしたらいいか
について、情報を整理します。

とりま、今現在追いかけられている最中だということを、別のマップに共有しないといけない。

それは、追いかけられ中は、スイッチをONにすることで
敵の行動を分岐することができそうだ。

そして、2箇所以上の出入り口がある場合
どこの出入り口から入ってきたかわかるようにしないといけない。

マップを移動するイベントに、スイッチをONにするイベントを仕込めば
移動先のマップでどっから来たかを判断できそうだ。

だが、出入り口毎にスイッチを用意するとなると、大量に必要になるし、ONOFFの切り替えも大変だ。
スイッチの代わりに変数を使う方がいいかもしれない。

変数には基本的には数値を入れる。

例えば、北側に1つ、西側に2つ、東側に1つ出入口があるとすれば
北の出入り口に移動する場合は1を代入。
西側上部の出入り口は、2を代入、西側下部の出入り口は、3を代入
東側の出入り口は、4を代入。

はい、めんどくさいでーす。
番号覚えきれないでーす。

他の方法で、位置を取得することかんがえまーす。

リージョンを使うのがわかりやすいかなー。
出入口にリージョンを置くことにします。

移動してきたプレイヤーの足元のリージョンIDを取得するコマンドを
別のマップから移動してきたときに1回だけ起動し、なおかつ
追いかけられ中スイッチがONの時実行する
イベントに仕込みます。

例えば、出現条件が追いかけられ中スイッチがONで
トリガーが自動で
イベントを終わらせる方法が、イベントページの切り替えではなく
「イベントの一時消去」とういイベントコマンドで行う、等ですね。
(出現条件のスイッチをOFFにすることでもできるけど
 今回はそれだと都合悪いよね。だって追いかけられ中なのに
 追いかけられなくなっちゃうもん)

で、リージョン1Dが1だったら、1番のリージョンを置いた場所に敵を移動させて
そこからプレイヤーを追いかけさせればいいよね。

ちな、プレイヤーの足元のリージョンの取得方法はこうだね。

◆変数の操作:#0013 プレイヤーX座標 = プレイヤーのマップX
◆変数の操作:#0014 プレイヤーY座標 = プレイヤーのマップY
◆指定位置の情報取得:足元のリージョン番号, リージョンID, ({プレイヤーX座標},{プレイヤーY座標})

リージョンは、マップ編集モード時に表示されるタイルセットABCDER のRだよ。

番号は覚えなくても、Rタイルに切り替えたらすぐわかるので
Rタイルを選んだ状態でイベント編集に切替れば、配置したリージョンが見える状態で
イベントを作れるから大丈夫だよ。

注意点としては、出入り口の位置を変更した時にリージョンも直す必要があること。
その辺も面倒くさいというならもう
プレイヤーの座標だけでどの出入り口かを判断するようにイベントを作ればいいよ。

これ以外にも方法あるかもしれないので、これちょっと自分には合わないとか
うまくいかないとかあれば、別の方法を探してください。

例えば、こちらのサイトさんは、スクショ付きで結構わかりやすそうですよ。
https://denno-sekai.com/rpgmaker-enemy-chase/

“MV:質問” へ戻る