ActionScript 3.0 :: CS4 - Communication Between Loaded External Swf And Main Timeline?
Feb 4, 2010
I'm having issues with an animation and need to get it functioning properly. I've posted two example/demo files to illustrate desired functionality.The main timeline (testMain.swf) consists of a loader, section/slide one content, and a button (bttnClick) set to load an external swf (external.swf).
external.swf contains two additional sections/slides and two 'next' buttons (bttnEnter with 'bNextOne' & 'bNextTwo' instance names) to navigate. When the second 'next' button (bNextTwo) is clicked I need the loaded external swf to fade out revealing the original main timeline (testMain.swf) and returning/stopping playhead at the 'slideOne' frame label. Does the external swf need to be unloaded even though users will most likely go back to it? What�s the best way to handle this?
If you could assist with the external swf fadeout to main timeline, the return to 'slideOne' frame label, and insight as far as the best way to return to the external swf.
I'm about 10 hours deep into getting an external swf to be loaded on a page in my main timeline. I've gotten as far as loading the external swf (within the first few hours) hahah but now, have spent twice as long trying to get the external swf to be removed when a person navigates to a different page of my main timeline.
I have a videoplayer on one frame which is my "video" page. I've gotten the external swf to load two different ways, for example, the latest code i am using to load the external is below and seems so nice, clean and simple:
var request:URLRequest = new URLRequest("VideoPlaylist_HV.swf"); var loader:Loader = new Loader() loader.load(request); addChild(loader); loader.x = 180 loader.y = 50
But I would like to add a function that says on any mouse click event (navigation) close the swf that is loaded.
If any of you genius people out there can help me, please do. I thought getting it to load was going to be the hard part but I was wrong. I am very discouraged by Actionscript in general.
download what i have so far, i left alot of the content out so the file size isn't big. And yes, i am sure once you see how I work you will be sure that I am no flash expert. I can send a link to the .flas, the site won't allow me to post the link as I am new.
how to sequentially play external SWFs loaded into the main timeline?
I have several SWF files with short videos embedded in them. I wish to load these external SWF files into my main timeline as follows:
User Presses Button -> Play Video Clip in External SWF#1 -> Once Video Clip in External SWF#1 has Finished -> Play Video Clip in External SWF#2.
I tried achieving this by adding: var endmovie:Boolean = true; to the end of each video clip inside the external SWFs (e.g. 1.swf) then cycling through an if statement in the main timeline to see when this condition was meet:
ActionScript In Main Timeline:
Code: var mc_Loader = new MovieClipLoader(); mc_Loader.addListener(this);
[Code].....
How is the best way to go about achieving this? Am I on the right track? (By the way, using .FLV or one long external SWF file is not really an option due to long loading times...
I basically need to communicate to an externally loaded swf and send info back to main swf. Below is some sample code of what I am trying to achieve:
In the main swf: var imgLoader:Loader = new Loader(); imgLoader.load(new URLRequest("external.swf")); addChild(imgLoader); var MC:MovieClip = imgLoader.content as MovieClip; //var MC = MovieClip(imgLoader.content); trace(MC) MC.btn1.visible=false;
In the external swf: btn1.addEventListener(MouseEvent.CLICK,externalCli ck1); btn2.addEventListener(MouseEvent.CLICK,externalCli ck2); function externalClick1(e:MouseEvent):void { trace("external Click 1"); //main swf goto nextFrame; } function externalClick2(e:MouseEvent):void { trace("external Click 2"); // main swf goto PrevFrame; }
The trace I have setup in the main swf, trace(MC) returns a null value.
I'm upgrading some elearning code to AS3 and having trouble with a "Jump Menu" that loads at 3 in the main swf. The idea is that users can jump to any frame in the module randomly.Here is the main swf code:
//Main swf shell var menuLoader:Loader = new Loader(); menuLoader.contentLoaderInfo.addEventListener(Even t.INIT, doneLoading3);
I have a main fla file which loads an external swf into an empty movieclip on the main timeline which works fine but I want a button in the external swf to load another external swf into another empty movie clip on the main timeline.eg. start.swf loads UKEIAMap.swf into (empty movie clip within start.swf) MapLoader_mc then a button havant_b within UKEIAMap.swf needs to load HavantProjectSheet.swf into (empty movie clip within start.swf) ProjectSheetLoader_mc without unloading UKEIAMap.swf
I have a simple swf called site.swf that loads a menu with UILoader called menu.swf, from menu I'm able to navigateToURL but I also need that it goes to frame 50 in menu.swf.
I just poked around google as well as these forums, but the only answer I am seeing that was successful, is from kglad, and for some reason his posts are not showingAnyway, I am just trying to figure how to reference a frame label on my main timeline from a loaded swf (through my imageLoader).
I have a project I'm working on where the user is presented with an overhead shot of a building and is able to mouse-over the different rooms to choose one to "enter." Once clicked, the chosen room is an external .SWF that is loaded that has options to view other external .SWFs within that room. Problem is, within the first loaded .SWF, I have a "home" button that is supposed to take the viewer back to the main overhead view but I can't get the AS to work. I've tried _parent and _root with no luck (not sure I even typed out right code).
I'm using a textfield for debug information.I'm loading an swf on the main timeline and I'm showing the status in the debug textfield.[code]I'm loading a png file in the loaded swf. , I'm trying to show the status of the png file as I showed the status of the swf.[code]I can't control the main swf from inside the loaded swf. Even gotoAndStop or calling a function doesn't work.Do I need to add something when I load the swf, saying it's a MovieClip or something?URL...
I have a question about accessing functions or variables on the main timeline from a loaded swf. I know that there are a few ways to do this
1. Casting the timeline as a movie clip Loader SWF Script var testText:String = "Test"; var myLoader:Loader = new Loader(); loadData("loaded.swf"); function LoadData(aURL){ myLoader.load(new URLRequest(aURL)); addChild(myLoader); }
2. Cast the timeline as a generic object var parentObj:Object = this.parent as Object; parentObj.unloadSWF("loaded.swf") Why can you not just reference the main timeline of the container swf directly.
i have a simple swf called site.swf that loads a menu with UILoader called menu.swf, from menu i'm able to navigateToURL but i also need that it goes to frame 50 in menu.swf..
So basically I have two swfs, main.swf and level.swf.. main.swf simply has two frames, first one has the code below to load level.swf and the second frame has some text in it, it's labelled "theend".
Code: var request:URLRequest = new URLRequest("level.swf"); var loader:Loader = new Loader() loader.load(request); addChild(loader);
level.swf is more complicated, it's a little game and blah blah, but the thing is that I have a button (cnt_btn) in the last frame. I'd like this button to go to the second frame ("theend") of the main timeline.
I have a main flash movie, which I'm using to display various other smaller swf's.All the SWF's including the main one are set to flash player 8, action script 2.Script used is:loadMovie("swf/movies/moviename.swf", "p2");This is loading the swf into a correctly sized and placed movieclip with instance name "p2"This all works perfectly well apart from one particular swf. It has various script in it that seem to be interfering with the timeline of my main movie. Causing it to start playing, when it should be stopped etc. It seems to cycle through all the other keyframes until it gets back to keyframe that it sits on.
Is there a way of making sure none of the script within the loaded SWF will effect the main movie that it's loaded into?I tried usingthis._lockroot=trueon the 1st frames of the SWF's to be loaded, and also on the 1st frame of the main movie, but it does not work.I also tried loading to various levels, with no luck.Something in the externally loaded SWF's is causing the main movie timeline to go crazy. I guess either the interval timer or the endcount.Here's some of the code from the external swf thats being loaded into the container:
I have a project which requires the loading and unloading of multiple "scenes". All my navigation is working (probably not the most efficient way) but I'm having one issue. I need a button on one of the loaded SWFs to call a function on the main timeline. Since Actionscript 3 no longer supports the _root functionality the way AS2 did, I cannot access the main timeline.
In general, how do I get to the root of the main timeline without using _root?
Also, how can I reference the loaded SWF and objects inside of it from the main timeline?
I am building a website in as3. As of now this is what I have. My main file has a button on it and builds a movieclip to hold loaded movieclips.
The file runs and loads about.swf into the main file. When the button is pressed it tells about.swf to play the exit animation.
All of that is working. What I want to happen now is once the exit animation finishes I want the about.swf file to tell the main timeline to load a new movie.
I can control loaded movieclips from the main timeline I just do not know how to control the main timeline from loaded movieclips.
i have a script to slideshow images dynamically reading xml. The script is written in the main time line. when the scripts are moved inside any movie clip it did not work.
script goes here:
Code: import mx.transitions.Tween; import mx.transitions.easing.*; var myShowXML = new XML();
My script have a list of .swf files and needs to play them one by one. My problem is that i can't detect when the movieclip (containing the swf) completes playing.
I understood that i need to copmare between _currentframe and _totalframes of the moviecip but i keep getting 1 as the _currentframe (my main timeline contains only 1 frame).
Code: var mcLoader:MovieClipLoader = new MovieClipLoader(); var loadListener:Object = new Object(); var container:MovieClip =
i have a UILoader that loads an image from an xml list when you click its thumbnail ( in its thumbnails mc on mainstage aswell) thing is, i have another UILoader on the layer above that loads in a swf ( a slideshow that fades in and out the pictures when they change to the next, with all the coding on frame 1, frame 2 only has a stop and some code for when the mouse is idle for 5 secs it goes back to frame 1) so when you go to "portraits" it takes you to frame "x" where the slideshow ( loaded external swf ) starts playing automaticly right, if i click any thumbnail the slideshow goes to frame 2 ( wich is perfect and the mouse idle thing i wanted works great ) the ONLY THING IS
after the slideshow runs by default for the first time ( i enter the category portraits ) and i click any thumbnail ( moving slideshow swf to frame 2 enabling mouse idle event ) and the mouse is idle ( so it does the event and starts playing the slideshow again ( goes back to frame 1 ) ) I CANT MAKE THE UILOADER OF THE THUMBS IMAGE TO DISSAPPEAR!
I have a button that is loaded into my main movie at level 2. in my main movie on the timeline I have a frame label called guestbook. I want my button, when released to go to trigger the frame label. on my button i have the script:
on (release) { _root.gotoAndStop("guestbook"); }
Obvously this does not work because it references the wrong timeline so i tried:
on (release) { _parent.gotoAndStop("guestbook"); }
thinking that somehow it would see the parent swf and work - haha - me and my dumb ideas of course it doesnt work.do you know how i can get it to work. Perhaps i should mention that the button that loads in at level 2 is inside a movie clip (for reasons of animation)
I have been going crazy all weekend trying to figure this out. All I want to do is communicate with the main timeline from a loaded external swf. So, I have loaded a external swf called "test.swf" from the main swf called "basetest.swf"So, on basetest.swf I have this code, simply loading test.swf:
var request2:URLRequest = new URLRequest("test.swf"); var loader:Loader = new Loader() loader.load(request2);
I'm having a bit of time getting this to work. Setup like this: Main mov: Nav1 is clicked and loads in external swf. In the swf that was just loaded there is button to call another external swf on the main movie's timeline. I'm trying make a "lightbox" effect. Where you click on the external swf and the screen darkens and a swf is loaded on top of it. Above the loaded swf. Of course on a new layer.
PHP Code: This is handling the swfs that get loaded in EXTERNAL SWF LOADER _root.page_mc.preloader_mc._visible = false; _root.page_mc.preloaderText_txt._visible = false; var mcLoader:MovieClipLoader = new MovieClipLoader(); var myListener:Object = new Object(); mcLoader.addListener(myListener); [Code] .....
I'm definitely more designer than flash developer (as most of you might know. At least those that hang in the lounge or Arena). I need to know how to allow a loaded .swf file to control the main timeline in AS3.
I have a container .swf that includes global controls (jump menu/volume control) and branding. Loading a swf for the dialogue boxes (timeline animated ... although I realize there may be better ways to handle it). Another swf for a simcity-ish illustration that has animated elements with various states. I need all to be able to communicate with each other. I was able to load the movies no problem. Even communicate with the loaded ones from the main timeline. Just need to be able to go the other way.
I apologise because I know this has been covered but none of the code I've found seems to have sorted my problem.On my main timeline (_level0 right?) I have the following code:
var loader:MovieClipLoader = new MovieClipLoader(); this.createEmptyMovieClip("container2",2); container2._x=28
keyframe one - dialogue / conversation with characters ( then a button is triggered to call an external swf [placed at keyframe two] )keyframe two - the external swf game. i want to put a button that makes you go back to the main timeline once you're done with the game and proceed to keyframe three (that's the problem. i dont know how to declare and make that button work)keyframe three - dialogue / conversation again .
keyframeone [main timeline]
Code: ... memory_t.addEventListener(MouseEvent.CLICK, recalltraining) function recalltraining(e:MouseEvent):void{ gotoAndStop(2)
I have a external SWF loading into a target on my main swf. Is there a way to control the timeline from the loaded movie from the main timeline. So , control B timeline from A. I've tried mcholder.gotoAndPlay (2); but it won't work. Also, how can I get the mumbers of frames from the external swf into the main timeline. Will a global variable work?
im trying to tell my main movie to goto a certain movieclip in the timeline from my loaded external swf heres the code Im working with,[code]I can tell the script is executing because the external movieclip unloads itself but the main movie does nothing.
when my main app is a MovieClip (extends MovieClip) is working.but my main app is a sprite i take this message cannot convert ROOT@16b26df1 to flash.display.MovieClip.can i change this line
MovieClip(this.parent.parent).traceMe();
to something like this Sprite(this.parent.parent).traceMe();