ActionScript 3.0 :: Functions Within Child Swf Still Going On After It Is Removed
Mar 2, 2011
Parent swf loads a Child Swf. Button on Child swf closes child swf and dispatches event to Parent Swf to listen for to remove the child swf from the stage. Here is the code on the Parent swf that does that:[code]function within the child swf is still going on... this function randomly calls different sounds and I can still hear those sounds!How can I stop this function?
A function within a child swf is continuing to go, even after I remove the child swf from the stage... this wouldn't really matter, except that there are sound elements called from within this function, and those sounds continue to play!
I've seen some discussion on how to load a child swf using swfLoader and accessing it's variables but I am wondering if it is possible to do this without adding any code to the child swf.Either accessing public vars or listening for funciton calls would work fine
if i have a movie clip with an even listener attached to it, is the event listener being removed automatically when the movie clip is removed from the stage or should i always remove the event listeners manually?
I want to remove all children of the name (mc1) but be able to add new one when I call the add function again Heres what I have
// Draws the squares
Code: function drawIt(e:Event=null):void{ mc1.graphics.lineStyle(1); mc1.graphics.beginFill(ITsColor);
[code]....
Removing all the (mc1) movieclips works fine, but when i click on the butotn to call drawIt again, all previous mc1's are displayed again with the new ones
I've encountered what seems to be a race condition between a parent and its child movie clips, but I don't know what to do to fix it. The parent movie clip is on the stage at compile-time, and the clip contains a number of children. In the parent's constructor function I have the following code
for(var i in this){ if(this[i] instanceof MovieClip){ this[i].hval = this[i]._x; $tItems.push(this[i]); this[i].subscribe(this);}}
I'm able to give every child an hval property and push it into $tItems, but the call to the child's subscribe method fails every time. It's as though the child's functions haven't been loaded because the children haven't yet realized that they're members of a class that have a subscribe function. I set up a button to test this function call manually and when I do it that way I succeed in calling the subscribe method in all the children, so it really seems to be some sort of race condition. How can I overcome this?
I have this function in the parent class: ActionScript Code: private m_colors:Array; protected function set colors(clrs:Array):void { m_colors = clrs; }
Then, in my child class I want to call this as: super.colors = [15, 255]; But it throws an error, it says: Ambiguous reference to colors. If I do the same with a common function, not a setter one, then just calling it with its name in my child class works fine.
I have uploaded a ZIP file that includes the following files:
- main.fla
- child.fla
You can download to review my code (very small 16kb): http:[url]...........This simple example has a main SWF file that loads a child SWF using the dynamic loader method. Below is the code in the main.fla file:
Code: Select all/* MAIN SW */ import flash.net.URLRequest;[code]........
how do I get both parent and child SWFs to communicate with each other dynamically (to be able to call functions from each other, or pass variables)?
I need to execute some javascript string code from flash swf file using actionscript 3. I read that it could be done by passing the javascript code to the parent html document , using externalinterface.call function. Then I assume it will be faster if I can declare functions in the javascript code in the HTML document in the first use of externalinterface.call funtion ; if flash code calls the javascript code repeatedly. So let me ask you how to do that. For details , any javascript to be loaded is unknown in design time and I can not prepare a javascript file to be loaded.
I have a picture on the stage that has multiple items that have hotspots/links over them that should open a child swf on top of the background and show details about the items. then have a button in the child swf itself that removes the child from over the background so the user can click on another item etc.I found this code in someone's post and I am trying to modify it so that works for multiple swf files...it currently works for a single swf.I wan to pass the name of the button in front of the .swf in the URLRequest to have the same name as the instance name of the referring button. But I can't figure it out. Here is the code I am using on the stage
I have a series of calculations i'm doing over a bunch of objects stored in a array. Each function is pretty CPU demanding but if you only run one function, it just works fine.
I've got a project thats getting a bit big, so Im taking the actionscript out into separate as files. I want all the basic functions to be in BasicFunctions.as and the make a library for more specific functions. I find that a lot of people use the import statement but I cant get that to work with a simple Hello World trace, yet the include statement works fine (see attached). I understand that import/include work differently, but which is the better method? If import, then is that heavier to work with. Any rate, what's the best way to organise code when it gets to the 1000+ lines?
I'm trying to find a way to have global functions in my as project, similar to how flash does with stuff like the util functions (describeType()...), where you can just call the function wherever you need it. For example:
[Code]...
So when I call Test(), it prints out "hello world" fine. My problem comes in that I can't change the name of the Test function, and I can't add any other functions without compiler errors. Is it possible to have a load of global functions in one file, or do I have to split them up into separate files like in the example? Also, I know that I can make a Global class and call static functions like Code: Global.doSomething() but I'd like to know if there's a way to do it as flash does it (describeType(), getDefinitionByName(), etc), or rather, how does flash do it?
I have one function that puts text in a text field and makes a button goto a url onRelease.The code is like this:
Code: item.onRelease = function() { myButton.onRelease = function() { getURL("http://google.com", "_blank"); } talk = this.txt; } the only problem is that the button doesn't work onRelease. i think that it is because there are too many functions there, but at the same time,
ActionScript Code: var insert4:spin2MC = new spin2MC(); insert4.x = 490; insert4.y = 380; addChild(insert4); setChildIndex(insert4, 12);
This MC is communicating with other MC's on this frame. It is for example placing MC hitspider at the same x as itself on EnterFrame.
[Code]....
But it still gives me an error. That it can't find the hitspider MC. Which is true cause it's not there. But since I removed the child why does it still look for this MC hitspider?
I was making a game and i made a back button so when you click it you go to frame 3.OK so i tested it out and when i clicked it my people and my tiles and everything was still there.
I am trying to remove a MC and then regenerate it later.I can remove the darn thing, but I am having issues regenerating it after it has been removed. Here's the code that I have:
I've got a shell movie clip which loads some other clips. In one of the sub clips, I have a key listener. Inbetween loading of the sub clips, I have it removing the key listener and the movie clip.
But the function that was attached to the key listener is persistant, even after the sub clip has been deleted, and I've attempted to remove the key listener from the main shell. What ends up happening is the second time you load the sub clip, it runs the function *twice*, or three times, or as many times as you click the link to load it.
When i run the shell movie, it shows trace actions from the sub clip even after it's been removed!
Functions embedded inside other functions? In all my years of ActionScript programming, I've never seen this (this is part of legacy code written by someone else which I am adapting):
Its a complicated senario for me. I have a sound management singleton with an asset like dictionary storing all referances to my urls and assets and the guff inside it-
I have a function called addItem(id:String, url:String):Object
I would love to do something similar as soundManager.addItem(id:String, url:String).play() or soundManager.addItem(id:String, url:String).stop() of which it'll both add my item to my dictionary, and begin playing the sound