Code:
// class names (linkage) of screens in library
var _screens:Array = ["Screen1","Screen2","Screen3","Screen4","Screen5"];
// instance names of btns in the btnMenu
var _btns:Array = ["btn1","btn2","btn3","btn4","btn5"];
// class name (linkage) of menu in library
var _menu:MovieClip = new BtnMenu();
var _base:MovieClip = new MovieClip();
var _current:MovieClip;
var _num:int = 0;
updateScreen();
function updateScreen($e:Event=null):void {
var classRef:Class;
var tween:Tween;
var newScreen:MovieClip;
if ($e == null) {
classRef = getDefinitionByName(_screens[0]) as Class;
_current = new classRef();
_base.addChild(_current);
newScreen = _current;
addChild(_base);
addChild(_menu);
_menu.addEventListener(MouseEvent.CLICK, updateScreen);
} else {
var num:int = _btns.indexOf($e.target.name);
if (num != -1 && num != _num) {
classRef = getDefinitionByName(_screens[num]) as Class;
newScreen = new classRef();
_base.addChild(newScreen);
if (num > _num) {
newScreen.y = _current.height;
new Tween(_current,"y",Strong.easeOut,0,0 - _current.height,1,true);
tween = new Tween(newScreen,"y",Strong.easeOut,newScreen.y,0,1,true);
} else {
newScreen.y = 0 - newScreen.height;
new Tween(_current,"y",Strong.easeOut,0,_current.height,1,true);
tween = new Tween(newScreen,"y",Strong.easeOut,newScreen.y,0,1,true);
}
tween.addEventListener(TweenEvent.MOTION_FINISH, function(){_base.removeChildAt(0);});
_num = num;
_current = newScreen;
}
}
}