マウスでクリックされたオブジェクトを吹き飛ばすコードを書いています。
以下コードのように、自身をマウス位置へ移動させるオブジェクトにコライダー(isTrigger=true)をつけ、通過したオブジェクトの接地位置を取得して吹き飛ばす、という実装方なのですが、OnTriggerEnter2Dで接地位置を取るのに苦戦しています。
csharp
1using UnityEngine; 2 3public class Explotion : MonoBehaviour 4{ 5 private Transform transform; 6 private Camera mainCamera; 7 8 private void Awake() 9 { 10 transform = GetComponent<Transform>(); 11 mainCamera = Camera.main; 12 } 13 14 private void Update() { 15 if(Input.GetMouseButton(0)) { 16 Vector2 mousePos = mainCamera.ScreenToWorldPoint(Input.mousePosition); 17 18 transform.position = mousePos; 19 } 20 } 21 22 private void OnTriggerEnter2D(Collider2D collider) { 23 //collider.contacts的なことがしたい 24 } 25} 26
他オブジェクトに接触した影響を与えずに接触判定がとれればいいので、この方法意外でも何か解決策があれば教えてください。コライダーを使わない方法でもokです。よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。