現在スプライトを使用して2Dゲームを制作しており、キャラクターがアイテムを 掴む/離す 処理をしたいのですが、
下記のような予期せぬ動作が起きてしまいます。

Aは掴む対象の物で、1つのBPをレベル上に2個置いている状況で、
Pはキャラクターです
PがAを1つ掴むときは、問題無いのですが、
Pが既にAを1つ掴んでいる時に、他のAに近づくと、同時に2つ掴んでしまいます。
この挙動にはしたいと思っておらず、
1つ掴んでいる時は、他のAを掴まないようにしたいです。(=1つ以上は掴めない)
またAはたくさん置く想定なので、Aを置く個数ごとに個別のBPを作ることは考えていません。
下記ノード
—————————————————————————————
(Pのイベントグラフ)
PがAに近い時にホールドボタンを押すと、ホールドブーリアンがON/OFFになる
この近いかどうかの検出は
PがAにBeginOverlapするとブーリアンがON
PがAにEndOverlapするとブーリアンがOFF
の処理で行っています。
(Aのイベントグラフ)
ホールドボタンが押されている&このAがPに近づいていたら、
Pに追従する
※AにPの座標を代入して追従=掴む
※Xは奥行きなので0に
ちなみにAがPに近づいているかを分岐ノードの条件に繋いでいる理由は
この処理がなかった場合、1つのAの近くでホールドを押すと、レベル上全てに配置されているAが一気にPに集まってホールドしてしまうからです
つらつらと書きながら、そもそもこの実装方法は周りくどいかもしれない…と思ってきましたが
解決方法がお分かりになる方がいましたらご回答いただければと思います。
また、ご回答いただいた内容が今より実装方法が大まかに違っても
望んでいる処理ができるならば、実装をまるっと変えてしまいたいと思っています。
よろしくお願いいたします。




