実現したいこと
タグの名前が同じもの同士が接触したら片方のオブジェクトがそれら二つを合成したものを生成する
前提
3つ以上のオブジェクトが同時に触れると二つも進化したオブジェクトが生成されてしまいます
該当のソースコード
C#
1void OnCollisionEnter2D(Collision2D collision) 2{ 3 4 5 6 7 if (collision.gameObject.tag == tag) 8 { 9 Destroy(collision.gameObject); 10 11 GameObject colobj = collision.gameObject; 12 13 if (colobj.GetComponent<annmonaito>().isMergeFlag == true) return; 14 isMergeFlag = true; 15 16 switch (tag) 17 { 18 スコア加点の処理 19 } 20 21 Instantiate(prefab, transform.position, transform.rotation); // prefabをオブジェクトAの位置と回転で複製する 22 23 Destroy(this.gameObject); 24 } 25}
試したこと
もともとX座標の大きいほうで処理を行うようにしていましたが、フラグを使用してみましたが、うまくいきませんでした
補足情報(FW/ツールのバージョンなど)
Unity2021.3.32

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。