Hi! I am having problems to load external swf using tween. Just starting with as3 and found a tutorial with 3 buttons, however my main movie needs to have 5.
When I press the second button I get error 2025 and when I press the rest of the buttons the page appears but the previous one stays too.
Would really appreciate some help. Thanks in advance.
import fl.transitions.*;
import fl.transitions.easing.*;
//Assign CLICK listeners for each menu button
page01Button.addEventListener (MouseEvent.CLICK, buttonClicked);
page02Button.addEventListener (MouseEvent.CLICK, buttonClicked);
page03Button.addEventListener (MouseEvent.CLICK, buttonClicked);
page04Button.addEventListener (MouseEvent.CLICK, buttonClicked);
page05Button.addEventListener (MouseEvent.CLICK, buttonClicked);
//Make the buttons look like buttons (hand cursor appears on hover)
page01Button.buttonMode = true;
page02Button.buttonMode = true;
page03Button.buttonMode = true;
page04Button.buttonMode = true;
page05Button.buttonMode = true;
//This loader is used to load the external swf files
var loader:Loader = new Loader();
//URLRequest stores the path to the file to be loaded
var urlRequest:URLRequest;
//This array holds all the tweens, so they
//don't get garbage collected
var tweens:Array = new Array();
//Stores the current page we are displaying
var currentPage:MovieClip = null;
//Stores the next page that we are going to display
var nextPage:MovieClip = null;
//This function is called when a menu button is clicked
function buttonClicked (e:Event):void {
//If we clicked the first button, we load the page1
if (e.target == page01Button) {
urlRequest = new URLRequest("page1.swf");
loader.load (urlRequest);
}
//If we clicked the second button, we load the page2
else if (e.target == page02Button) {
urlRequest = new URLRequest("page2.swf");
loader.load (urlRequest);
}
//If we clicked the second button, we load the page3
else if (e.target == page03Button) {
urlRequest = new URLRequest("page3.swf");
loader.load (urlRequest);
}
//If we clicked the second button, we load the page4
else if (e.target == page04Button) {
urlRequest = new URLRequest("page4.swf");
loader.load (urlRequest);
}
//If we clicked the second button, we load the page5
else if (e.target == page05Button) {
urlRequest = new URLRequest("page5.swf");
loader.load (urlRequest);
}
//We want to know when the next page is finished loading
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, fileLoaded);
}
//This function is called, when we have finished loading a content page
function fileLoaded(e:Event):void {
//The loader contains the page we are going to display.
nextPage = e.target.content;
//Let's animate the current page away from the stage.
//First, we need to make sure there is a current page on the stage.
if(currentPage != null) {
//Tween the current page from left to the right
var tweenX:Tween = new Tween(currentPage, "x", Regular.easeOut,
currentPage.x, 900, 1, true);
//Decrease the alpha to zero
var tweenAlpha:Tween = new Tween(currentPage, "alpha", Regular.easeOut,
1, 0, 1, true);
//Push the tweens into an array
tweens.push(tweenX);
tweens.push(tweenAlpha);
//currentPageGone will be called when the tween is finished
tweenX.addEventListener(TweenEvent.MOTION_FINISH, currentPageGone);
}
//There is no current page, so we can animate the next
//page to the stage. The animation is done in
//the showNextPage function.
else {
showNextPage();
}
}
//This function animates and displayes the next page
function showNextPage():void {
//Tween the next page from left to the center
var tweenX:Tween = new Tween(nextPage, "x", Regular.easeOut,
-200, 0, 1, true);
//Tween the alpha to from 0 to 1
var tweenAlpha:Tween = new Tween(nextPage, "alpha", Regular.easeOut,
0, 1, 1, true);
//Push the tweens into an array
tweens.push(tweenX);
tweens.push(tweenAlpha);
//Add the next page to the stage
addChild(nextPage);
//Next page is now our current page
currentPage = nextPage;
}
//This function is called when the current page has been animated away
function currentPageGone(e:Event):void {
//Remove the current page completely
removeChild(currentPage);
//Let's show the next page
showNextPage();
}