2014-04-30 2 views
0

오늘 2D 애니메이션을 배우기 시작했으며 나중에 내가 만든 프레임을 스프라이트로 가져 와서 2D 프레임을 만들었습니다. 애니메이션을 꺼내고, 게임이 애니메이션 루프를 연속적으로 시작하자마자 장면에 오브젝트를 넣으면 모든 사람이 행복하고 자유롭게 살아납니다. 하지만 gameobject 애니메이션을 끝내고 난 후 루프를 만들지 않도록 설정하고 마친 후에는 gameobject를 파괴해야합니다 (화면에 폭발의 최종 프레임을 가질 필요가 없음). 예외 : "DefExplosion"게임 객체에는 '애니메이션'이 붙어 있지 않지만 스크립트가 액세스하려고합니다. "Unity 2D "애니메이션"이 "xxxxxx"게임 객체에 첨부되었습니다.

public class ExplosionEnd : MonoBehaviour { 

    Animation Anim; 

    // Use this for initialization 
    void Start() 
    { 
     Anim = GetComponent<Animation>(); 
     gameObject.GetComponent<Animator>(); 
     gameObject.GetComponent<Animation>(); 
    } 

    // Update is called once per frame 
    void Update() 
    { 
     if (!gameObject.animation.isPlaying) 
     { Destroy(gameObject); Debug.Log("Destroyed"); } 
    } 

위의 스크립트는 애니메이션이있는 게임 객체에 첨부되어 있으며 이후에 삭제해야합니다. 여기에 무엇이 누락 되었습니까?

답변

0

난 당신의 코드를 얻을 수 있지만, 당신은 단순히 애니메이션이 완료된 후 오브젝트를 파괴하려는 경우, 당신은

void DestroyMyGameObject(){ 
    Destroy(gameObject); 
} 

처럼 그리고 마지막 프레임 추가 한 후 애니메이션에 함수를 만들 수 있습니다 이벤트로 설정하고 DestroyMyGameObject()로 설정합니다. 애니메이션 완료 후 객체를 파괴합니다.

관련 문제