상세 컨텐츠

본문 제목

8. 타일 박스 콜라이더에 닿으면 삭제하기

유니티

by MJ_119 2023. 6. 7. 05:13

본문

TileEndBehaviour C# 스크립트를 작성한다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

// 플레이어가 끝에 다다랐을 때 새로운 타일 생성과 해당 타일의 제거를 담당한다.
public class TileEndBehaviour : MonoBehaviour
{
    [Tooltip("끝에 다다랐을 때 제거하기전 " + "얼마 동안 기다리는가")]
    public float destroyTime = 1.5f;

    private void OnTriggerEnter(Collider col)
    {
        // 먼저 플레이어와 충돌했는지 체크
        if (col.gameObject.GetComponent<PlayerBehaviour>())
        {
            // 충돌 했다면 새로운 타일을 생성한다.
            GameObject.FindObjectOfType<GameController>().SpawnNextTile();

            // 조금 기다린 후에 현재 타일 전체를 제거한다.
            Destroy(transform.parent.gameObject, destroyTime);
        }
    }
}

Basic Tile 프리펩을 더블클릭해서 에디터를 열고 Hierarchy 창에 Tile End 오브젝트를 선택하고 컴포넌트를  추가한다.

 

 

 

프리펩 모드에서 왼쪽 표시를 누르면 화면이 다시 돌아온다.

 

그뒤에 실행시키면 공이 지나가면서 타일이 생성되고 삭제되는 것을 볼 수 있다.

'유니티' 카테고리의 다른 글

10. 장애물 배치, 태그 지정하기  (0) 2023.06.07
9. 맵 장애물 만들기(재시작)  (1) 2023.06.07
7. 끝없이 무한 달리기 만들기  (1) 2023.06.07
6. 프리팹(Prefabs)만들기  (0) 2023.06.06
5. 맵의 끝 확인하기  (0) 2023.06.06

관련글 더보기