Как уже говорили другие, в Flash Player нет метода реального сброса.В зависимости от сложности проекта установка для каждого свойства и переменной значений по умолчанию может быть неуправляемой.
В этом случае вы можете рассмотреть два варианта:
Оберните ваш код в класс, в котором есть дополнительный метод deconstruct.Метод деконструкции должен присматривать за EventListeners, а что нет.Конструктор должен вызвать метод наподобие init, чтобы настроить все переменные.Таким образом, ваш код не удваивается.
Например:
package {
import flash.events.Event;
import flash.events.EventDispatcher;
public class Foo extends EventDispatcher {
private var _a:String;
public function Foo() {
init();
}
public function init():void {
_a = "Default Value";
addEventListener(Event.ENTER_FRAME, onEnter);
}
public function deconstruct():void {
// Clean up time
removeEventListener(Event.ENTER_FRAME, onEnter);
}
private function onEnter(e:Event):void {
trace("frame");
}
public function get a():String { return _a; }
public function set a(value:String):void { _a = value; }
}
}
Затем на основной временной шкале
var foo:Foo = new Foo();
resetButton.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void {
foo.deconstruct();
foo = new Foo();
}
Это гарантирует, что вы действительно сбрасываете