본문 바로가기

Unity/Tips 13.05.06

[ 유니티(Unity 3D) 팁 ] GameObject 동적으로 삭제 하기

GameObject 동적으로 삭제 하기


유니티에서 게임실행중에 GameObject 를 제거해야 할때가 있다.


예를 들면 총알이 몬스터에 맞았을 경우 총알을 제거해 줘야 한다. 


또 몬스터의 HP가 0보다 작아지면 몬스터 또한 제거해 줘야 한다.


Destroy (Object obj, t : float time= 0.0F)  함수를 이용하면 쉽게 제거할 수 있다.


obj 는 삭제할 대상 오브젝트 이며, time 은 Destroy 함수 호출후 몇초후에 삭제할지 결정한다.




코드


// 게임 오브젝트를 제거한다.

Destroy (gameObject);


// 게임오브젝트로부터 현재 스크립트를 제거 한다.

Destroy (this);


// 게임오브젝트로부터 강체를 제거합니다.

Destroy (rigidbody);


// 오브젝트 로드 후 5초 안에 게임오브젝트를 죽입니다.Kills the game object in 5 seconds after loading the object

Destroy (gameObject, 5);


// 사용자가 Ctrl키를 누를때, 스크립트를 제거 할것입니다. 

// 게임오브젝트의 FooScript라는 이름의

function Update () {

    if (Input.GetButton ("Fire1") && GetComponent (FooScript))

        Destroy (GetComponent (FooScript));

}




참고


http://www.devkorea.co.kr/reference/Documentation/ScriptReference/Object.Destroy.html