저는 Actionscript 2.0에서 Actionscript 3.0으로 전환 중이며 몇 줄의 핵심 코드가 누락되었습니다. 이 전 미사일을 가지고 있다고 가정 해 봅시다, 그리고 화면을 떠날 때, 액션 스크립트 2에, 난 그냥 ActionScript 3.0에서을 사용하면 코드가 계속 실행되는 이유는 무엇입니까?
removeMovieClip(this);
을 사용, 나는이
parent.removeChild(this);
문제가 사용되어 있다고 생각 , 코드는 여전히 실행됩니다. 예를 들어 프레임 1에 추적 코드가 있고 프레임 30에이 코드가 있습니다. 그런 다음 프로그램을 실행하면 프레임 1이 실행되고 개체는 "사라질"것입니다. 그런 다음 추적이 다시 발생하고 프레임 30 다시 돌아 오면 TypeError가 발생합니다. Error # 1009 : null 개체 참조의 속성이나 메서드에 액세스 할 수 없습니다.
그래서 내가 뭘 잘못하고 있니?/etc를 제대로 삭제하지 않습니까? 나는 이것과 비슷한 몇 가지 질문이 있다는 것을 알고 있지만, 나는 그들이 찾고있는 해답이없는 것 같다. 미리 감사드립니다.
try this = null 제거한 후에 부모로부터 처리해야하므로 this.removeChild (child); 자식 = null; –
removeFromStage에 대한 eventListener를 추가하여 해당 객체에 대한 정리 작업을 수행하고 그 객체에서 실행중인 모든 작업을 중단 할 수도 있습니다. 그때 어떻게 든 그것을 밖으로 null. 이것은 결국 OOP이며 객체는 자체적으로 처리해야합니다. 부모보기에서 수행해야하는 nulling을 제외하고. –
비슷한 질문에 대한 답을 확인하고 싶을 수도 있습니다. http://stackoverflow.com/questions/6792291/reference-a-movieclip-symbol-later-on-in-the-timeline '루트'에 존재하지 않는 객체 (일명 MC의 프레임 1). – Alex