2011-11-20 2 views
1

iPhone3D 게임을 만들기 위해 Unity3d와 협력 중입니다. iPhone은 PC보다 성능이 매우 제한적이므로 경제를 유지하고 싶습니다. 내 게임에서 나는 매우 긴 계단을 가지고 있으며 캐릭터가 걷고있다. 캐릭터가 한 걸음 높이보다 높으면 단계가 파괴됩니다. 하지만 하나의 gameObject에 대한 참조를 얻을 수 없습니다. 내가 어떻게 이걸 얻을 수 있니? 고마워요!unity3d에서 인스턴스화 된 (복제 된) 객체를 파괴하는 방법은 무엇입니까?

function buildFirstStair() { 
    for (var y = 0; y < 80; y++) { 
     for (var x = 0; x < 80; x++) { 
      if (x == y) { 
       var step = Instantiate(cube, Vector3(0, x*0.25, y*0.25), Quaternion.identity); 
      } 
     } 
    } 
} 
+0

"캐릭터가 한 단계 높이보다 높으면 단계가 파괴되지만 한 게임 객체에 대한 참조를 얻을 수 없습니다."라는 의미에서 100 % 명확하지 않습니다. 당신은 정교 할 수 있습니까? – DuckMaestro

+0

감사합니다. 이미 문제를 해결했습니다. – Yangrui

+0

미래의 독자들도 도움을받을 수 있도록 답안을 작성해 주실 수 있습니까? – DuckMaestro

답변

5

모든 인스턴스를 목록에 넣고 삭제할 수 있습니다. 같은 뭔가 :

function Create() 
{ 
    List<GameObject> mylist; 

    for (float y = 0; y < 80; y++) 
     for (float x = 0; x < 80; x++) { 
      if (x == y) { 
       mylist.push((GameObject) Instantiate(...), Quaternion.identity)); 
      } 
     } 
} 

그리고 당신은 C# 코드 죄송

foreach object in mylist 
{ 
    Destroy(object); 
} 

그런 짓을하지만 C#을 사용자입니다 삭제합니다.

관련 문제