ActionScript 3.0 :: Load External SWFs, AddChild(Loader) Versus AddChild(Loader.content), Etc?
Jul 29, 2009
I have a main "shell" swf which, by clicking several buttons, will load/unload various external swfs into a Placeholder_mc which resides on the main timeline in Shell.swf In the documentation and tutorials I've seen a couple different methods, and I'm not sure I quite understand the difference, or at least the reason you would use one over the other...In the 1st method, you can just add the Loader object using the addChild() method:
Code:
var myLoader:Loader = new Loader();
var myURLRequest:URLRequest = new URLRequest("ExternalFileA.swf");
myLoader.load(myURLRequest);
Placeholder_mc.addChild(myLoader);
This will apparently add myLoader to the display list once it has completely loaded.The 2nd method, you supposedly can add the Loader.content; however, it appears you can only do this once the content has completed loading, so you need to incorporate an event handler with the contentLoaderInfo object:
Code:
var myLoader:Loader = new Loader();
var myURLRequest:URLRequest = new URLRequest("ExternalFileA.swf");
myLoader.load(myURLRequest);
[code]....
What are the pros/cons of adding the entire Loader object, as opposed to the Loader.content and vice versa?
I'm dynamically loading JPG file using Loader class. Everything works except if I want to tile the image few more times using addChild(loader.content) it just doesn't work. It always removes previous instance and leaves only the last one. I've tried everything but with no luck. Here's my code:
var loaderContext:LoaderContext = new LoaderContext(true); var imageLoader:Loader = new Loader(); imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaderDone);
which works fine and loaded the image, however when I make a class file out of it it never load the image. The trace in the class did indicate that it was running >start drawing If anyone knows why,
In AS3 i am using the Loader class to load in multiple external SWFs (AVM1), each of which has a short animation which automatically plays when the swf is I obviously cannot control the timeline of these (i can't use local connection etc) but would like to load in the *.swf files, so they're in memory then add them to the stage when requested. the problem is that if i load them enmass. then use addChild when they are called, they have already played through and animated pre the addChild command.
(I cannot edit the swfs at all, and would rather not load them on demand at runtime)
i have a main loader swf file called loader.swf and it loads an RSL.swf (runtime shared library for my swf files) and then 10 swf files, each one to a container (fE.: movieclip '01' in loader.swf, then movieclip '02' and so on). the 10 swf files have a lot of references to RSL.swf, and i have to use RSL.the problem is when loader.swf loads the RSL and the other 10 swfs the loader throws errors like this:
Code: *** Security Sandbox Violation ***[code]...
then i put in EVERY swf files (loader,RSL and the other 10) the code Security.allowDomain ("*") but throws the same errors...
The title describes the problem: Loader.load() is firing the INIT event, but in my listener it's reporting loader.content as null. The description for INIT event is "Dispatched by the associated LoaderInfo object when the properties and methods of the loaded SWF file are accessible."I'm loading a lot of JPG images, and 95 percent of the time it works fine; the init listener fires and reports valid loader. content.I absolutely need loader.content available because I need to set the bitmap smoothing property to true.I've tried using Event.COMPLETE and it has the exact same problematic behavior.
I'm have made some buttons (movie clip) and when I click on it, I want a file (home.swf) to load in a loader (mx.contents.loader) and I want the other buttons to do the same, all load into the same loader. I have no Idea how to do that. The way I have it set up now, the home.swf will load over the entire screen and that is not what I want. I just want the content to load into the loader and have its content change once I click on the other buttons. Here is a copy and past of that I have at the moment, I'm using Flash 8 to do it all.
I am using the below code to load in external swfs. I normally put the preloader in the external swf but that does not work with this code. I therefore need to put the preloader in this swf. All the preloader need to be is the numbers (1-100).
Code: Select all/ /EXTERNAL SWF LOADER var loader:Loader= new Loader();
as you can see it loads an new swf on top of my main. I did not relaize that because of a dropdown menu in the main.swf evrytime I load another swf on top ie obscures the dropdown. besides putting the dropdown in each swf and removing it from the main which would be the obvious, I wanted to avoid this as the loded swfs will have slideshow pro videos which will be a bit heavy.
I'm using Loader::load() successfully to load swfs into my main swf and then I add them as a child of a Sprite. When other events occur I want to remove the swfs as needed. I have looked at unload() and at removeChildAt() without success.
I only added the addChild() call to try to pin down the loaded instance so I could remove it. The loading works fine without the addChild();
I have also tried publishing to player v.10 and using myLoader.unloadAndStop(); but this has no effect either;
The following demo code shows my problem. I see one child added and one removed but intro.swf is still playing away.
Im making a main page that will load different content into one loader. I have the loading URLRequest calling a variable for the link and then on a certain button click it will change the swf to be loading.The problem is this: This code is being called in a movieclip inside the main timeline called "loaderHolder"
ldr[nr][1][j2] = new Loader(); ldr[nr][1][j2].load(urlReq);
and about 3 seconds (by extra Timer script) after they're completely loaded are added to stage with
obj[nr][1][j2].addChild(ldr[nr][1][j2])
It all works properly, no problems at all. But by the time the .swf files are added as children to stage they've already animated 3 seconds of their own timeline so appear to "not start from the beginning of the animation".Any way I can prevent that in a simple way? (without requiring access / editing / recreating the loaded .swf or its .fla files)
for some reason escapes me: using AS3 how can a swf load another swf to replace itself in the same loader on the stage, while simultaneously calling a randomizing function in the first frame of the main timeline, to randomize the next swf?At the end of each swf (called "koan_#.swf") there is the following old AS2 code...it was used to randomly select and then play a swf from koan array:
I have the following code which simply loads an external swf, puts it in the right place and should all be hunky dory.This works:
Code: var myLoader:Loader = new Loader(); addChild(myLoader); var url:URLRequest=new URLRequest("foobar.swf");[code].....
to set the dimensions of the loader so the external swf doesn't 'spill over', the result is a blank screen. No matter how high I set those dimensions it just doesn't display anything.
I got this very strange behavior from FlashPlayer debugger 10.1 r82. When I call loader.load method, no ADDED event is dispatched to the loader object. But if I open the file and call loader.loadBytes instead, an ADDED event is dispatched to the loader object. I suspect the ADDED event is dispatched because the content is being set as the child of Loader object, but why in the other case it is not dispatched?
I load external swf file into main movie. and i give that child a name page0 there is a bit of code.
[Code]....
so after its loaded i want to insert some text into external swf using main movie. i managed to remove external swf, like this ActionScript Code: holder_mc0.removeChild(holder_mc0.getChildByName("pages0")); but i wonder how to insert text into that swf. i don't understand how hierarchy works, when you addChild, what name should i use for my external files. for example ActionScript Code: holder_mc0. ?????? .mainTemplate.tContent.text = "TEXT"
I've devised a preloader using the ui loader and progress bar components in flash cs3. The goal being to load an external .swf into the uiloader and that has been achieved. I'm having problems with the scaling now. In my code I have set the content scaling to "true" and that isn't supposed to cause distortion of any type but it does. It squishes my external .swf in width wise.
HTML Code: var imageURL:String = "portfolio.swf"; var imageURLRequest = new URLRequest(imageURL) uiLoader.scaleContent = true; uiLoader.load(imageURLRequest); progressBar.source = uiLoader; [Code] .....
I'm trying to have a class file which can add objects to the stage via addChild; however, when I call addChild from within the class file, I get the error "1180: Call to a possibly undefined method addChild." I've tried importing flash.display.* and that doesn't fix the problem. Does the class file have to extend Sprite or MovieClip to be able to add objects to the stage?
I have downloaded Box2d ([URL]) and created a project that looks like this: [URL]. catalyst is the green cube and it has the base class "shapes.box", it is inside "world" which has the base class "wck.World". What i want to do is to add another "catalyst" from the library inside "world" when i click on add_btn. I tried to accomplish this by this code:
[Code]...
Symbol 'buttons', Layer 'Actions', Frame 1, Line 41061: Call to a possibly undefined method addChild through a reference with static type Class.
I am trying to load an external swf into another swf using Loader but I am having difficulties to do so. The thing seems to be that some of the classes of the loaded clip are called the same as the parent clip's classes. Both swf's document classes are called "Launcher", for example, also they use StringUtil (tho both projects have their own "StringUtil" class).
The newMC doesn't show up.If I add 'parent.' in front of the addChild then it appears.mc_LibItem has a base class of "flash.display.MovieClip" and is exporting for ActionScript and on frame one.For grins I created a new .fla and began messing around with the same addChild idea and it worked.
as3 is new for me, but i would like to write a script using loader to load an external swf, and control the external swf. But I find I can't control the swf, because there are no fixed instance name. here is my script.
When i try to load an external swf file using Loader.Load(); The swf starts playing even before the init event is fired. Is there any way to stop the swf from playing atleast until the init event or complete event is fired?
I have a flash rotating banner script that I purchased, and wish to incorporate into my homepage. Instead of creating a page with HTML and adding the banner code as a separate object on the page, I wish to load it as an external swf into a movieclip on my stage. This is what the banner looks like:
[URL]
I have a page that I'm redesigning, it's located at:
[URL]
I have a movieclip named load_banner. Inside the movieclip in its own frame, I put in the following code:
I am trying to make a loader that will load 5 external swf. What im aiming for is one loads--> one plays--> one ends--> one unloads two loads--> two plays--> two ends--> two unloads ect..
i am having trouble getting to follow this sequence. Trace statements tell me they load but only the last displays
I'm very new to flash - I'm trying to use a pre-loader that loads an external SWF file. Its working except the percentage in the bar is actually reflecting how much of the entire page is loaded, not how much of just the flash banner is loaded. The result is that the percentage bar is still visible over the top of the flash banner when it begins to play and the percentage bar continues to load until the whole page is loaded.
how to load an external using a loader to show while its loading...my swf which is to be loaded is a gallery having jus one frame on which action script is placed..
I have a quick question. I have created a quick gallery page/swf that uses Greensock Liquid stage/area etc that re-sizes the content upon browser re-size (keeps proportion).
My problem presents itself when I apply a external loader to load the swf using LoaderMax. I'm using the code available on the site and replaced the areas with my titles - yet when I load in browser it displays very small (the size of the external loader stage), and doesn't use the liquid stage within the gallery/page swf. Any ideas as to why? Do I have to add another liquid stage to the loader swf and attach the content?