플래피버드 만드는 과정중에서 화면에 별을 프리팹으로 만들어내고 별에 부딪히면 별이 사라지면서 점수가 오르게 하고싶습니다.


트리거를 통해서 점수는 오르는데 Destroy(gameObject); 를 해버리면 별이 아예 안나오네요..


별 이미지에 스크립트를 통해서 StarScoreUp 스크립트 안에


public class StarScoreUp : MonoBehaviour

{

private void OnTriggerEnter2D(Collider2D collision)

{

Destroy(gameObject);

Score.score += 100;

}

}


이렇게 진행하였는데, 별에 부딪히면 더이상 별이 안나오고 그러네요.. 부딪힌 별만 사라지게 할 수 있나요??


그리고 또 궁금한게 OnTriggerEnter2D(Collider2D collision) 랑 OnTriggerEnter(Collider other) 차이가 뭘까요??

collision.gameObject를 하면 플래피버드 캐릭터가 사라지던데 무슨 변수인지 모르겠어요


구글링 해봐도 딱 원하는 답이 없고 해결되지 않아서 이렇게 글남겨봅니다.



추가 )

별 프리팹 만드는 Generator 안에 스크립트 MakeStar 안에


public class MakeStar : MonoBehaviour

{

    public GameObject Star;


    public float timeDiff;


    float timer = 0;

    // Start is called before the first frame update

    void Start()

    {


    }


    // Update is called once per frame

    void Update()

    {

        timer += Time.deltaTime;


        if (timer >= timeDiff)

        {

            GameObject newStar = Instantiate(Star);

            newStar.transform.position = new Vector3(6, Random.Range(4.0f, -2.5f), 0);

            timer = 0;

            Destroy(newStar, 10.0f);

        }


    }

}


이렇게 설정했는데, 잘모르고 한거라서 내가 이해를 잘 못한걸수도??

파이프 랜덤하게 만드는거 보고 따라한건데 어느 부분이 게임 별 오브젝트이고 어떻게 설정해야하는거지??