2014-05-22 10 views
1

빠른 질문이 있습니다.""의 변형을 파괴 할 수 없습니다. 게임 오브젝트를 파괴하고 싶다면 게임 오브젝트의 destroy를 호출하십시오.

다른 스크립트에서 정기적으로 액세스하는 개체 목록이 있습니다. 내가하고 싶은 것은 목록을 지우고 그 안에있는 모든 물건을 파괴하는 것입니다.

Can't destroy transform of "". if you want to destroy the game object, please call destroy on the game object instead...

나는이에서 봤는데 :

FoodTargets를이 오류를 반환

destroycounter = FoodTargets.Count; 

    for (destroycounter = 0; destroycounter < FoodTargets.Count; destroycounter++) 
    { 
     Destroy(FoodTargets[destroycounter]); 
     FoodTargets.RemoveAt(destroycounter); 
    } 

내 목록의 이름은 ...입니다 : 여기에 내가이 일을 사용하고있는 코드는 몇 시간 동안, 목록의 인스턴스화 된 프리 프레임을 파괴하기 위해 사용할 수있는 코드 줄을 알고 싶습니다. 가능한 경우 목록에서 인스턴스화 된 모든 프리 프레임을 파괴하기 위해 어떤 코드를 사용합니까? 미리 감사드립니다, 당신의 도움을 많이 주시면 감사하겠습니다.

+0

시도해보십시오 :'Destroy (FoodTargets)'; for 루프없이? – Max

+0

나는 그것을 시도했다. 그러나 그것은 오류를 반환합니다 : Assets/Scrpits/HerbivoreScript.cs (92,17) : 오류 CS1503 :'# 1 '인수는'System.Collections.Generic.List 식을 UnityEngine으로 변환 할 수 없습니다. Object ' – SandyBites

+0

@Max 아니요, Unity3D에서는 작동하지 않습니다. – FunctionR

답변

4

각 변형이 해당 GameObject를 가리킨다는 사실을 사용하십시오. Destroy()GameObject을 매개 변수로 사용하기 때문에이 작업을 수행해야합니다.

Destroy(transformReference.gameObject); 

코드 그것은과 같을 것이다 :

Destroy(FoodTargets[destroycounter].gameObject); 

당신은 Transform here 내부의 속성에 대한 자세한 내용을보실 수 있습니다.

+0

고맙습니다. 매우 효과적입니다. – SandyBites