【解決済】敵シンボル(イベント)の真後ろから接触したという判定をさせたい

うらやま
記事: 12
登録日時: 2021年12月02日(木) 23:29

【解決済】敵シンボル(イベント)の真後ろから接触したという判定をさせたい

投稿記事by うらやま » 2022年7月20日(水) 10:39

お世話になっております。

シンボルエンカウントするRPGを制作しています。そこで、敵シンボルの真後ろからプレイヤーが接触すると先制攻撃(いわゆるバックアタック)するという仕組みを作りたいと思っています。
ただ、敵シンボル(イベント)の視界に入ると追いかけてくるという仕様のため、プレイヤーが後ろを取られることもあります。
そのため、「真後ろから接触した」という判定を敵シンボル(イベント)の向き === プレイヤーの向きだけではダメということに気づき、接触時に敵シンボル(イベント)の真後ろの位置 === プレイヤーの位置なら先制攻撃、という実装にしようと考えました。

そのためこの質問で知りたいのは”敵シンボル(イベント)の真後ろの位置の取得方法”なのですが、もしその他に”プレイヤーが敵シンボル(イベント)の真後ろから接触したという判定”ができる方法があればご教授願います。

よろしくお願いいたします。
最後に編集したユーザー うらやま on 2022年7月20日(水) 21:58 [ 編集 1 回目 ]

アバター
くろうど
記事: 279
登録日時: 2016年1月22日(金) 20:52
お住まい: 東京都
連絡を取る:

Re: 敵シンボル(イベント)の真後ろから接触したという判定をさせたい

投稿記事by くろうど » 2022年7月20日(水) 11:53

惜しい。
RPGツクールMZであれば、私のアクションRPGプラグインで簡単に判定できるのですが……。

↓アクションRPGプラグイン(MZ)↓
https://github.com/kuroudo119/RPGMZ-Plu ... tionRPG.js

それはさておき、
プレイヤーおよびイベントの位置(座標)は、
「変数の操作」の「ゲームデータ」の「キャラクター」から
「マップX」「マップY」という値で取得できます。

以下の表で「5」の位置をプレイヤーとすると、
接触した場合、他のプラグインがなければ、
敵シンボルは 2, 4, 6, 8 のいずれかの位置に存在します。

コード: 全て選択

[7, 8, 9],
[4, 5, 6],
[1, 2, 3],

例えば、敵シンボルが「6」の位置であれば、
プレイヤー(x, y)に対して、(x + 1, y) の座標に存在することになります。

この状態で、プレイヤーと敵シンボルが右向きであれば、
プレイヤーが敵シンボルの背後を突いた形になると考えられます。

あとは単純にパターンの問題です。

尚、プレイヤーとマップイベントが接触すると、
マップイベントはプレイヤー側を向くと思いますが、
この対処は済んでいるものとしています。
▼だいたいTwitterにいます。たぶん。
https://twitter.com/kuroudo119
うらやま
記事: 12
登録日時: 2021年12月02日(木) 23:29

Re: 敵シンボル(イベント)の真後ろから接触したという判定をさせたい

投稿記事by うらやま » 2022年7月20日(水) 21:58

くろうどさん

コメントありがとうございます。教えていただいた考え方でやってみたところ、無事想定通りの挙動で実装することができました。

尚、プレイヤーとマップイベントが接触すると、
マップイベントはプレイヤー側を向くと思いますが、
この対処は済んでいるものとしています。

こちらは対処済なので、問題になりませんでした。

この件は解決済とさせていただきます。ありがとうございました。

“MV:質問” へ戻る