2014-07-23 5 views
0

나는이 스 니핏을 획득하고 파티클 시스템 프리 패브를 인스턴스화합니다. 내가 가지고있는 문제는 클론이 5 초의 지연 후에 파괴되지 않는다는 것입니다. 모든 조언을 부탁드립니다.Unity C# 4.5.2 2D 인스턴스화 된 파티클 시스템 조립식을 파괴

private ParticleSystem instantiate(ParticleSystem prefab, Vector3 position) 
{ 
    ParticleSystem newParticleSystem = Instantiate(
     prefab, 
     position, 
     Quaternion.identity 
     ) as ParticleSystem; 

    if(newParticleSystem.gameObject != null) 
    { 
     Destroy(
      newParticleSystem.gameObject, 
      newParticleSystem.startLifetime 
      ); 
    } 

    return newParticleSystem; 
} 

답변

1

코드는 ParticleSystem이라 불리는 시스템을 사용하여 시스템을 언제 삭제할지 추적합니다.

private ParticleSystem instantiate(ParticleSystem prefab, Vector3 position) 
{ 
    ParticleSystem newParticleSystem = Instantiate(
     prefab, 
     position, 
     Quaternion.identity 
     ) as ParticleSystem; 

    newParticalSystem.AddComponent<TimedDestroy>().delay = newParticleSystem.startLifetime; 

    return newParticleSystem; 
} 

다음 프로젝트에이 스크립트를 추가 : 내가 뭘 할 것은 이것이다

using UnityEngine; 
public class TimedDestroy : MonoBehaviour 
{ 
    public float delay; 

    void Start() 
    { 
     Invoke("destruct",delay); 
    } 

    public void destruct() 
    { 
     Destroy(gameObject); 
    } 
}