Example #1
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        Transform target = MyFunc.GetParent(collision);

        switch (target.tag)
        {
        case "Wall":
            Destroy(gameObject);
            break;

        case "Player":
            Player player = target.GetComponent <Player>();
            if (player != null)
            {
                player.HP++;
            }
            Destroy(gameObject);
            break;
        }
    }
Example #2
0
    // OnTriggerEnter2D는 Collider2D Component를 가지고 있는 오브젝트가, IsTrigger 속성이 참일 때, Collider2D 범위에 다른 Collider가 Enter 했을 때 호출됩니다.
    // 인자로 주어지는 Collider2D collision을 통해 충돌한 오브젝트의 정보를 가져올 수 있습니다.
    // Tag를 통해 collision을 구별할 수 있습니다.
    // 아래의 코드는 Wall 이라는 Tag를 가진 Object와 충돌하면 총알을 삭제하는 코드입니다. 총알이 화면 밖으로 나가도 Scene안에 남아 있는 문제를 해결하기 위한 것입니다.
    private void OnTriggerEnter2D(Collider2D collision)
    {
        Transform target = MyFunc.GetParent(collision);

        MyFunc.Log("충돌하였습니다");
        switch (target.tag)
        {
        case "Wall":
            Destroy(gameObject);
            break;

        case "Enemy":
            Enemy enemy = target.GetComponent <Enemy>();
            if (enemy != null)
            {
                enemy.HP--;
            }
            Destroy(gameObject);
            break;
        }
    }