Конечно ... отмените регистрацию его таймеров и событий, удалите его из родительского элемента и удалите все ссылки на него. ;)
То есть AS3 - это язык для сборки мусора, поэтому вы не можете контролировать, когда объект (включая MC) действительно удаляется из памяти. Когда вы удаляете все ссылки на него (включая регистрацию событий), GC обнаружит, что он больше не нужен, и очистит его для вас.
Одна вещь, которую вы можете (и должны) делать, когда вы регистрируетесь для событий, установите для параметра useWeakReference
значение true
. То есть:
myMC.addEventListener( Event.ENTER_FRAME, onFrame, false, 0, true );
Это говорит AS3, что данный конкретный прослушиватель событий не должен считаться ссылкой - поэтому, если вы удалите все другие ссылки на MC, он будет собирать мусор, даже если вы не отмените регистрацию слушателя. (Что касается таймеров, если вы используете setTimeout или setInterval, насколько я знаю, они также не считаются ссылками. Но я не уверен в этом.)
Так что, если коротко, то нет способа уничтожить ваш MC и заставить Flash очистить все. Именно так работает AS3 - управление ссылками и событиями является частью добросовестного кодирования. Если у вашего MC больше нет таймеров или событий, он удален из своего родителя и на него не ссылается ни одна часть вашего кода, вот тогда он исчез.