Вы можете сохранить переменные при инициализации класса, а затем загрузить их обратно, что фактически приведет к сбросу. Попробуйте это:
package
{
import flash.display.Sprite;
public class Main extends Sprite
{
private var _saved:Array = [];
public var awesome:Boolean = true;
public var val:String = "hello";
public function Main()
{
saveVars("awesome","val","alpha");
awesome = false;
alpha = 0.5;
val = "there";
loadVars();
trace(alpha); // 1
trace(val) ;// hello
trace(awesome); // true
}
/**
* Saves defined vars
* @param ...args A list of variables to save
*/
public function saveVars(...args):void
{
_saved = [];
var i:String;
for each(i in args)
{
_saved[i] = this[i];
}
}
/**
* Loads from last save
*/
public function loadVars():void
{
var i:String;
for(i in _saved)
{
this[i] = _saved[i];
}
}
}
}
Это, очевидно, имеет преимущество, заключающееся в возможности сохранять ваши переменные в любой точке на протяжении всего времени выполнения приложения.