2015-01-07 1 views
1

저는 GameObject (프리 패브)의 x 클론을 인스턴스화하는 코드 조각을 만들고 있습니다. 트래픽을 시뮬레이트하기 위해 무작위로 스폰 된 자동차가 여러 개 있으며, 각 클론에는 몇 개의 스크립트가 첨부됩니다. 하나는 인공 지능을 제어하고, 다른 하나는 충돌을 제어하고, 나는 그것이 "더 이상 볼 수 없다"거나 차라리 너무 멀리 나와서 더 이상 볼 수 없도록 차를 파괴하려고합니다.스크립트에서 자신의 gameobject (clone) 찾기

문제는, 스크립트가 현재 첨부 된 GameObject에 액세스하는 방법을 모릅니다. 나는 GameObject가 OnCollisionEnter2D에서 충돌하고 있음을 발견했지만, "나"또는 "그 자체"를 찾을 방법을 찾지 못했습니다.

저는 rigidbody2D가 부착되어 있다는 것을 알고 있습니다. 구성 요소를 인스턴스화하거나 추가하지 않고도 차를 제어 할 수 있습니다.

function FixedUpdate() 
{ 
    // Controls the velocity of the car 
    rigidbody2D.angularVelocity = 0; 
} 

내가 (rigidbody2D 포함) 및 중지 전술 게임 오브젝트를 삭제할 수 있습니다 방법에 대한 단서를 /에 연결된 모든 스크립트를 비활성화?

GameObject를 올바르게 설정하는 방법이 확실하지 않은 "Destroy (GameObject)"를 사용하여 GameObject 및 그와 관련된 모든 항목을 파괴 할 수 있다고 생각합니다.

편집 : 또한 GameObject 인스턴스에 사용 된 프리 팹 이름을 아는 것이 좋습니다 (다른 프리 팹은 동일한 스크립트를 사용함).

답변

2

글쎄, 모든 스크립트에는 "gameObject"라는 속성이 있습니다.이 속성은 스크립트가 현재 연결되어있는 gameObject입니다. 그렇습니다. 단서가 맞습니다. Destroy (gameObject)를 호출 할 수 있습니다. 스크립트가 객체에 부착되어 경우, 게임 오브젝트 속성은 객체 그냥 myClone을 추가 한 경우에도

+0

에 부착 된도 (스크립트 포함) 모든 구성 요소를 파괴 할 것이다 이렇게 유니티

[편집] 에 의해 설정된다 .AddComponent (aiScript); 내 클론을 isntantiating 후? – Tom

+0

당신은 유머 감각이 강합니다. 나는 GameObject를 가지고 있었다. 나는 바보가된다.> _ <하지만, 내가 사용하는 조립식의 이름을 찾는 방법이 있습니까? – Tom

+1

하하 그래서 내가 "g"로 썼다. 나는 너에게서 오타가 있다는 것을 확신하지 못했다. Btw, 왜 객체를 인스턴스화 한 후에 aiScript를 추가합니까? 프리 팹에 그냥 추가하지 그래? – Larta