This site is optimised for Firefox 2.0 or Internet Explorer 7.

Multiple levels of swf loader

doctortim has no avatar
doctortim
 
Post Count: 2
Joined: Thu Dec 04, 2008 5:14 am
Flash Version: Adobe Flash CS4

Multiple levels of swf loader

Postby doctortim on Thu Dec 04, 2008 5:17 am

I have a UI that loads swf in the content area when several buttons are clicked (these buttons are menu1, menu2 et.c) the code is as follows and it is working fine...

import fl.controls.Button;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.MouseEvent;

var loader = new Loader();
var swfFile:String = new String();
swfFile = "blank.swf";
var req:URLRequest = new URLRequest(swfFile);
loader.load(req);
addChildAt(loader,1);

menu1.addEventListener(MouseEvent.MOUSE_UP,menuRelease);
menu2.addEventListener(MouseEvent.MOUSE_UP,menuRelease);
menu3.addEventListener(MouseEvent.MOUSE_UP,menuRelease);
menu4.addEventListener(MouseEvent.MOUSE_UP,menuRelease);

function menuRelease(e:Event):void {
this.removeChildAt(1);
if (e.target.name == "menu1") {
swfFile = "FM_main_menu_beta01.swf";
} else if (e.target.name == "menu2") {
swfFile = "FM_plan_menu_beta01.swf";
} else if (e.target.name == "menu3") {
swfFile = "FM_activity_menu_beta01.swf";
} else {
System.exit(0);
}
req = new URLRequest(swfFile);
loader.load(req);
this.addChildAt(loader,1);
}

So clicking the first button brings up a main menu in the main content area...with four menu options (buttons labelled mainMenu1, mainMenu2 etc.) When you click one of these main menu options, the corresponding swf should be loaded in place of the main menu (in the main contant area).

However this is not happening and the main menu is staying around and not being unloaded. Is this because the main menu swf is in a loader created in the parent swf, but the main menu loader is in the main menu swf. So I think in effect i have two loaders appearing at the same time.

import fl.controls.Button;
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.MouseEvent;


var swfFile:String = new String();
swfFile = "blank.swf";
var req:URLRequest = new URLRequest(swfFile);
var loader = new Loader();
removeChildAt(1);
loader.load(req);
addChildAt(loader,1);

mainMenu1.addEventListener(MouseEvent.MOUSE_UP,menuRelease);
mainMenu2.addEventListener(MouseEvent.MOUSE_UP,menuRelease);
mainMenu3.addEventListener(MouseEvent.MOUSE_UP,menuRelease);
mainMenu4.addEventListener(MouseEvent.MOUSE_UP,menuRelease);

function menuRelease(e:Event):void {
removeChildAt(1);
if (e.target.name == "mainMenu1") {
swfFile = "FM_plan_menu_beta01.swf";
} else if (e.target.name == "mainMenu2") {
swfFile = "FM_activity_menu_beta01.swf";
} else if (e.target.name == "mainMenu3") {
swfFile = "blank.swf";
} else {
swfFile = "blank.swf";
}
req = new URLRequest(swfFile);
loader.load(req);
addChildAt(loader,1);
}

Return to Actionscript 3.0

Who is online

Users browsing this forum: Kirone and 5 guests