【解決済み】プレイヤーにイベントが接触した際、他のイベントに接触させずにノックバックさせたいが、イベントが壁に埋まってしまう

ももも商店

ユーザー
今私はガンアクションゲームを作っているのですが、「敵イベントから接触されて、QTEを成功させれば敵を後方へノックバックさせる」という処理を行いたいのですが、このノックバックの処理で他の敵イベントをすり抜けさせようとすると場所によっては壁に埋まってしまい、どうすればいいかわかりません。

◇移動ルートの設定:このイベント(ウェイト)
:        :◇移動速度:6
:        :◇すり抜けON
:        :◇一歩後退
:        :◇一歩後退
:        :◇一歩後退
:        :◇すり抜けOFF
:        :◇移動速度:3

この処理でノックバックを作っていました。
 
進行方向に歩行できない障害物があるかどうかを取得出来ればいいとすれば
リージョンか地形IDを使って、指定位置の情報取得をするとよいのでは。

例:
通行不可の場所を任意のリージョンで塗っておく
もしくは、タイルセットの設定で、通行が×になっているタイルの地形IDを0以外にする(逆でもいい)

移動ルートの実行前に
移動可能な歩数を格納する変数を初期化
このイベントの座標を取得
イベントの向きによって、一歩後の座標に変更
指定位置の情報を取得し、障害物がなければ
移動可能な歩数を格納する変数に+1
さらに一歩後の座標に変更し、以下同文
移動可能な歩数に応じて、移動ルートを実行

で、いけるんじゃないかなあ。
マップは、必要に応じて逐一修正したりするだろうから
リージョンを使うより、地形IDを使う方がいいかも。(他のシステムで使っていなければ)

イベント同士をすり抜けられるプラグインもあるようです。
DP Event Region(canotun様作)
このプラグインは、イベントがすり抜けモードになっていてもリージョン判定を優先する設定もあるようなので
イベント同士は通常すり抜けない方がいい場合は、そっちをONにするといいのかも。
 
Back
トップ