И кроме этого ещё срабатывает REMOVED_FROM_STAGE
FLA файл, Document class M.as:
1)

Код AS3:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class M extends MovieClip {
public function M() {
this.addEventListener( Event.ADDED_TO_STAGE, init );
}
private function init( e:Event ):void {
trace( "added" );
}
}
}
Выводит:
added
added
2)

Код AS3:
package {
import flash.display.MovieClip;
import flash.events.Event;
public class M extends MovieClip {
public function M() {
this.addEventListener( Event.ADDED_TO_STAGE, init );
}
private function init( e:Event ):void {
trace( "added" );
this.removeEventListener( Event.ADDED_TO_STAGE, init );
this.addEventListener(Event.REMOVED_FROM_STAGE, removed );
}
private function removed( e:Event ):void {
trace( "removed" );
this.removeEventListener( Event.REMOVED_FROM_STAGE, removed );
}
}
}
Выводит:
added
removed
Объясните пожалуйста, почему это происходит, и как этого избежать?
Всем спасибо.