반응형
게임오브젝트 삭제 방법
게임오브젝트 삭제 : Destroy()
Destroy();
오브젝트 삭제 함수로 매개변수에 입력되어 있는 오브젝트 or 컴포넌트를 삭제한다.
게임을 진행하는 도중 플레이어의 공격을 받아 사망하는 적 오브젝트,
플레이어와 부딪혀 플레이어가 획득하게 되는 아이템 오브젝트와 같이 게임에서 영구적으로 사라져야 할 때 이용
웬만해서 Destroy()를 이용해 컴포넌트를 삭제하는 것보다는,
playerObject.GetComponent<PlayerController>().enabled = false;
와 같이 컴포넌트를 삭제하지 않고 꺼두는 것을 권장한다.
다음은 Destroy()를 이용해 playerObject에 존재하는 PlayerController 컴포넌트를 삭제하는 코드이다.
using UnityEngine;
public class DestroySample : MonoBehaviour
{
[SerializeField]
private GameObject playerObject;
private void Awake()
{
// plauerObject 게임오브젝트의 "PlayerController" 컴포넌트를 삭제
Destroy(playerObject.GetComponent<PlayerController>());
}
}
다음과 같이 코드를 작성하면 playerObject 게임오브젝트 자체가 삭제된다.
using UnityEngine;
public class DestroySample : MonoBehaviour
{
[SerializeField]
private GameObject playerObject;
private void Awake()
{
// plauerObject 게임오브젝트를 삭제
Destroy(playerObject);
}
}
Destroy(GameObject, time);
Destroy(GameObject, time);
은 time에 입력된 시간 후에 GameObject를 삭제하는 코드이다.
다음과 같이 코드를 작성하면 2초 뒤에 playerObject 게임오브젝트 자체가 삭제된다.
using UnityEngine;
public class DestroySample : MonoBehaviour
{
[SerializeField]
private GameObject playerObject;
private void Awake()
{
// plauerObject 게임오브젝트를 2초 뒤에 삭제
Destroy(playerObject, 2.0f);
}
}
반응형
'게임 > Unity' 카테고리의 다른 글
Unity 2D ) 게임오브젝트 생성 함수 Instantiate() (0) | 2021.03.02 |
---|---|
Unity 2D) 게임오브젝트 물리와 충돌 (0) | 2021.02.28 |
Unity 2D) 게임오브젝트 이동 (0) | 2021.02.27 |
Unity 이벤트 함수 (0) | 2021.02.27 |
Unity 콘솔뷰에 데이터 출력 (0) | 2021.01.15 |