Actionscript 3.0 :: Calling A Function In A Loaded SWF From A Parent SWF?
Jan 21, 2009syntax for calling a function (and sending arguments) located in an external SWF from a parent SWF?
View 2 Repliessyntax for calling a function (and sending arguments) located in an external SWF from a parent SWF?
View 2 RepliesI have a main Flash file that loads up other SWF files using Loader objects. I want to be able to call methods of this main object from within the loaded SWF files. For instance, I want the loaded file to be able to add an event listener to the stage of the main file. I've found this example:
[URL]
Which appears to do what I want, but I can't figure out how to implement it in my setup.
My 'main file' that loads up other SWF's is called 'main.swf' and has a document class Main.
My loaded file is called start.swf, and has a document class "Start".
[Code]....
How can I reach the stage from a loaded SWF? Or at least, how can I call a function in my Main Class from the loaded start.swf file so I can move the functionality I need to the main.swf file?
new to actionScript and trying to finish my final project, and i'm banging my head on a brick wall now, my question may be easy for some pros, basically i've loaded an external swf from a button at main.swf
[Code]...
this works fine. then i'm trying to disable the button function while the swf is loaded. I add another eventListener to the same button. function disableMenu( e:MouseEvent ):void { button1.mouseEnabled = false;}
that works too. ok now comes the problem. I have a close button on my child swf("content1.swf) to close itself and returen to main swf. but I want the button on main.swf to work again. so at the close button I add another eventListener hope to enable the menu. (note this is on the child swf!)
[Code]...
I have two movies... main.swf and content.swf, and I'm trying to call a function in my main.swf from my content.swf. Here is the code..
//function in main.swf
function appear (event:MouseEvent):void{
TweenLite.to(title1, 1, {autoAlpha:1, overwrite:false});
[Code].....
I got an error message as soon as i click on close_btn. It says appear() is not a property or method.
So, my problem, I have a Parent swf file that loads a bunch of smaller swf files. When I click on a button in one of these loaded swf files, I want to be able to call a function from the parent swf. Once called, the function manipulates things MC's within the parent swf.
View 2 Repliesnew to actionScript and trying to finish my final project, and i'm banging my head on a brick wall now, my question may be easy for some pros,[code]this child swf is loaded from xml. and the close button is created by using AS file. The "button1" is just on the stage of the main swf. Maybe these make some difference so i can't just point it back using (root)?Any idea how do I resolve this? Or am I not supposedd to do it this way at all?
View 2 Repliesi have a swf that loads a swf that loads one swf into that one. i need the final swf (child, child) to be able to call a function on the first swf (parent)
i have tried this:
if(MovieClip(parent.parent.parent)!=null){MovieCli p(parent.parent.parent).parentFunctionCall();}
[Code]....
May i know how to call child function(layer 2) in parent(layer 1)?
Layer 1 (Parent)
function changeAction():void{
changeColor();
}
This method will give me the error -> Call to a possibly undefined method changeColor.
Layer 2 (Child)
function changeColor():void{
trace("success");
}
I have container swf which includes navigation that loads child swfs. Each child swf is loaded then visibility is set to false. Once a child ( an image gallery actually) is loaded it is possible to jump from image to image. What Id would like to be able to do is call a "clean up" function that returns the child to its initial state when anothor nav link ( a different gallery) in the parent is clicked. But I do not know how the syntax is supposed to be written or if its even possible.
Ideally it would look something like this in the parent container swf:
ActionScript Code:
function swapSectionIdentity(e:MouseEvent):void {
setChildIndex(background_home, 0);
getChildByName("identity_mc").visible = true;
[Code]...
the behavior I am attempting to avoid is when a child swf is loaded ( an image gallery) and then the child is invoked to display a particular image in it, afterwhich a main navigation link is clicked the current gallery is set to visible = false and a new gallery is set to visible = true. But when you return to the previous gallery the last image viewed is still showing. I want to be able to reutrn to galleries inital state as it is hidden. make sense?
I want to call a function in my parent movie from my external swf wich is loaded through a loader. Can anyone give me a nudge
View 4 RepliesI have setup a simple video interface. The video player lives in the parent swf. The video list chooser is loaded as a child swf. In this child swf, I have some video buttons nested within two movieclips in order to facilitate the scrolling feature. I am trying to get the movie buttons to load flvs into the component flv player in the parent swf. I have declared the functions in the parent and I am trying to call them in the child:Code in the Parent:
function vid1(event:MouseEvent): void{
pubPlayer.source = 'vid1.flv';
}
[code].....
I am adding a child .swf from the parent with a simple button. If this button is then clicked multiple times, the child is added multiple times. So I added the ".visible = false" to the button when clicked so the button cannot be clicked while the child is open.
Now, there is "Close" button on the child .swf that uses "this.parent.parent.removeChild(this.parent);" and would now need to set the parent button back to ".visible = true".
I have tried MovieClip.parent.parent.resetButton(); and parent as MovieClip.resetButton(); and many variations of the code. I get no errors but the code doesn't work either.
I have setup a video interface with a stock video player in the parent mc. In the same swf next to the player, I have a mc which is a video thumbnail chooser. The thumbnail buttons are located two levels down within this mc (nested within two mc) in order to facilitate the scrolling independent of the player. In the parent, where the video player lives, I placed a function:
function vid1(event:MouseEvent): void{
pubPlayer.source = 'Steve480.flv';
}
In the child mc where the thumbnail buttons are, I want to call the parent function like this:
vid1_btn.addEventListener(MouseEvent.CLICK, vid1);
None of my clips are externally loaded, just nested in the same swf. How can I talk up or down the movieclip ladder?
Basically i am trying to call a function which is present in one.mxml from a pop-up in two.mxml with a parameter.
one.mxml :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" >
<mx:Script>
<![CDATA[
[Code].....
How to i call parent's method when i don't know who the caller is?
I have setup a video interface with a stock video player in the parent mc. In the same swf next to the player, I have a mc which is a video thumbnail chooser. The thumbnail buttons are located two levels down within this mc (nested within two mc) in order to facilitate the scrolling independent of the player. In the parent, where the video player lives, I placed a function:
function vid1(event:MouseEvent): void{
pubPlayer.source = 'Steve480.flv';
}
In the child mc where the thumbnail buttons are, I want to call the parent function like this:
vid1_btn.addEventListener(MouseEvent.CLICK, vid1);
None of my clips are externally loaded, just nested in the same swf. How can I talk up or down the movieclip ladder?
I'm switching from as2 to as3 and everything was going swimmingly with my new site until i tried to use a _root call to a function on the main timeline by a loaded movieClip that is loaded nested into 2 other movieclips. the movieClip needs to tell the _root when it's done playing so the root knows to load the next one in line through a php call. Everything works except for the _root call. In as3 there's no such thing as root anymore so I figured no big deal, i'll just find out what the new thing is and holy crap wtf! I can't figure this out!! I've read from doing stuff like custom eventLisnters (which i am trying now) and casting the root as a movieClip and then I read this whole crazy tutorial on building an event structure and the proper MVC way of coding and blah blah blah ALL I WANT TO DO is tell the _root that the loaded MC has reached the end of its timeline. Basically if it were as2 i could just go _root.loadNext(); and it would work.how to make a loaded MC talk to the _root timeline and call a funciton from there?
View 19 RepliesI have a .swf that has to load in a iFrame and needs to call a browser cookie javascript function that lives on the parent page that loads the iFrame.I'm using this:
xternalInterface.call("javascriptFunction");
Is it possible to access a function within a function in a parent swf from a loaded swf?
View 6 RepliesIf I need to call a specific function in the parent application from a child in a flex project, what's the best practice for this? Would it be to dispatch a custom event from the child and have a listener call that function? Or to directly call the function with FlexGlobals.topLevelApplication?
View 1 RepliesI'm using FLex Builder and in my Main class I load an external swf. In the external swf there is a movieclip on the stage called house. In the library I have that movieclips Class name set to a class I defined called com.buildings.House
When I load the swf from the main class I'm trying to access a function called setup in the class called House. I have tried a bunch of different ways but I get errors for them all.
Code:
private function onLoadSwf( url : String) : void
{
var loader : Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoadComplete);
loader.contentLoaderInfo.addEventListener(Event.INIT, onLoadInit);
[Code]....
I'm at a loss right now and its driving me mad. In flash I used to use the var externalSwf : MovieClip = evt.target.content; example and it worked but with Flex Builder its throwing error saying setup is not a function.
With the Imap interface its saying externalSwf is null.
I have a movie (let's call it index.swf) that has a movie clip loader which is loading external .swfs Is there any way that I can call a function that is on the index.swf's main timeline from one of the externally loaded .swfs? Basically all I want to do is to be able to play another mc that is on the index.swf's main time line by pressing a button that is on one of the external swfs.
View 3 RepliesHave a swf that I am making (call it "contents") that gets loaded into another swf (call it "container") [pre-existing from someone else].How do I, from inside the Contents file I am making, address and execute a function from the Container movie?I know how to go from the container to the content file, but don't know the syntax the other way.Thought something like this should work but doesn't seem to:
Code:
if(this.parent.parent!= null){
var parentLevel:Object = this.parent.parent as Object;
[code].....
My problem specifically I am designing a user interface with controls on it. 5 buttons rotate left, rotate right, zoom in, zoom out, and auto rotate. The interface in itself works fine, I can trace out button clicks, toggle the auto rotate button etc...
My program reads an xml file. Loads some images, fills an array with links for each image, and when the image is clicked a loader loads a swf from a URL and displays it on screen. No problem.
Now I originally had the zoom controls user interface in the runtime_loaded.fla library, and the mouse listeners in the same linked document class. The interface works with the movieClip in runtime_loaded.swf when it is in the same code.
[Code]...
I'm using loadMovie to load in an external SWF file. I'm looking to call a function called setText() inside of this swf. I can get to the function by doing this:
ActionScript Code:
toolTip = _root.createEmptyMovieClip("toolTip", _root.getNextHighestDepth());
toolTip.loadMovie("ToolTip.swf");
[code]....
but it's not working like this:
ActionScript Code:
toolTip = _root.createEmptyMovieClip("toolTip", _root.getNextHighestDepth());
toolTip.loadMovie("ToolTip.swf");
toolTip.setText(aTxt);
how I can do this without an enterframe?
So I can load in a movieclip fine, using MovieClipLoader. What I don't understand is how to access variables in the loaded clip, or, more importantly, how to call a function on the loaded clip.
Here's what I have as a test:
Code:
var game_mc = _root.createEmptyMovieClip("game_mc", 0);
loader = new MovieClipLoader();
loader.addListener(this);
[Code].....
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've written a script that takes keyboard input to turn movieclips on and off in a swf file (like the visible/invisible layer function in photoshop). Then I'm attempting to load the *.swf (image.swf) into a zoom/pan flash file from flash den. When I load it in, the keyboard controls no longer work. I've tried importing the keyboard control function (keyDownListener) into the main zoom.fla with this script:
Code:
import flash.display.Loader;
import flash.net.URLRequest;
[code].....
I have a swf that should be able to load another swf in runtime. Then I would like the loaded swf to call a method of the parent, loader swf, like this:
Code:
parent.closeForm;
But when I compile it, it throws this error:
1119: Access of possibly undefined property closeForm through a reference with static type flash.displayisplayObjectContainer.
I've tried:
Code:
if (parent != stage){
parent.closeForm;
}
So flash won't run this code at compile time, but it always throws that error. Here is the code of the LOADER swf:
Code:
private function loadForm():void {
var loader:Loader = new Loader()
var mRequest:URLRequest = new URLRequest(formPath);
loader.load(mRequest);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onFormCompleteHandler);
[Code] .....
How could I write an expression that should call a function of the LOADER swf without having this compile-time error?
I'm trying to make a loaded SWF call a function that is in the parent SWF, but it is not working.In AS 2.0 I could just put something like _root.myFunction(); and it worked.But in AS 3.0 it does not work anymore.
View 3 RepliesI am trying to call a parent and have it do a simple action. but i always get this error[code]...
View 1 Replies