Skip to main content
Known Participant
December 2, 2010
Question

problems with links?

  • December 2, 2010
  • 1 reply
  • 851 views

Ok so I have 6 different .fla files with their own SFW file's and I need help on how to link them I also have a main.fla that holds all my stuff like my buttons, logo, banner ect.... Help Please??

This is the only code I have and I get no errors but when I click on a certain button it wont go to that certain SWF file?
import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
//Assign CLICK listeners for each menu button
Home.addEventListener (MouseEvent.CLICK, buttonClicked);
Big_Square_Baling.addEventListener (MouseEvent.CLICK, buttonClicked);
Wrapping.addEventListener (MouseEvent.CLICK, buttonClicked);
Chopping.addEventListener (MouseEvent.CLICK, buttonClicked);
Tillage.addEventListener (MouseEvent.CLICK, buttonClicked);
Raking.addEventListener (MouseEvent.CLICK, buttonClicked);

//Make the buttons look like buttons
Home.buttonMode = true;
Big_Square_Baling.buttonMode = true;
Wrapping.buttonMode = true;
Chopping.buttonMode = true;
Tillage.buttonMode = true;
Raking.buttonMode = true;

//This loader is used to load the external swf files
var loader: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 {

//Create a new loader instance
loader = new Loader();

//If we clicked the first button, we load the the Home page
if (e.target == Home) {
urlRequest = new URLRequest("Home.swf");
loader.load (urlRequest);
}
//If we clicked the second button, we load the Big Square Baling page
else if (e.target == Big_Square_Baling) {
urlRequest = new URLRequest("Big_Square_Baling.swf");
loader.load (urlRequest);
}
//We load the Big Square Bale Wrapping page since we know that the home page or the Big Square Baling page
//is not clicked
else if (e.target == Wrapping) {
urlRequest = new URLRequest("Wrapping.swf");
loader.load (urlRequest);
}
//We load the Chopping page since we know that the home page, the Big Square Baling page, or the
//Big Square Bale Wrapping page is not clicked
else if (e.target == Chopping) {
urlRequest = new URLRequest("Chopping.swf");
loader.load (urlRequest);
}
//We load the Tillage page since we know that that the home page, the Big Square Baling page, the
//Big Square Bale Wrapping page, and the Chopping page is not clicked
else if (e.target == Tillage) {
urlRequest = new URLRequest("Tillage.swf");
loader.load (urlRequest);
}
//We load the Raking page since we know that the home page, the Big Square Baling page, the
//Big Square Bale Wrapping page the Chopping page, and the Tillage page is not clicked
else {

  urlRequest = new URLRequest("Raking.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, 500, 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();
}
This topic has been closed for replies.

1 reply

Inspiring
December 2, 2010

I'm not sure if that's all of your code, but if it is, then the only thing being added as a child to anything is your nextPage container. This means that you're only ever viewing the nextPage which doesn't have any children of its own. You need to add the Loader as a child of that container.

If that's not the problem, then you may want to set up traces to see if the loader is in fact loading and succeeds in loading.

~Plystire

Known Participant
December 2, 2010

what?  How do I start this?

Inspiring
December 2, 2010

I think your first objective here should be to get a SWF loaded and shown to the user, then branch from that.

Looking at your button function, I see you're using "e.target" to grab the button that was clicked. ".target" is not always accurate for this when the function is handling an event that could be coming from multiple objects, try using "e.currentTarget" instead and see if that makes a difference.

~Plystire