ActionScript 3.0 :: Completely Clearing Out A Child?
Sep 28, 2009
I've having a problem when I am removing a child. There is an area where you can choose a button to click(there are multiple buttons here). Once you click a button it loads workss_mc and you can go back from there and workss_mc is being removed then work_mc is being added again. The problem is once it is added again and you click on any of the other buttons the frame label from the previous session when it was clicked is still at that location.
OK this has been a process but i have gotten to the point where i am calling a feedback image for the different categories, I just need to clear the foodfeedback and artfeedback children when music is pressed and the same for the others
In document class action script file I add a movie clip to stage using
Code: public var square:Square square = new Square addChild(square)
So it adds square to stage.Then after sometime I want it to be removed. I call a function "removeSquare" also located in document class. It executes the following code. And it removes the square from stage visualy.
Code: trace("proff that it's executed") removeChild(square) square = null
Then of course I want to add a square to stage again, using code I written at top of the post. And remove it again, and so on..But game is lagging more and more and more. So I guess that the square is not properly removed. If you need more details about my code feel free to say, I just written that since I really doesn't know what else should be important.
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
AS3 noobie here..So i am trying to load external SWFs into a DisplayObjectContainer.When i re-instantiate the Loader object it won't clear the old SWF.basically, in this version, i've resorted to adding a new containerover the old one (very bad, i know). I'd love to know how to solvethis issue properly.[code]...
I have built a flex application which has a "main" project and it is assosciated with a few RSL's which are loaded and cached once i run my "main" application. The problem i am facing is that the newer versions of my RSL's are not being loaded as the cache holds the older version of my RSL and execxutes the same. Each time i have got to clear the cache to execute the new version of my RSL's, which is irritating.
I have a website that is currently all flash-based. Unfortunately if you return to that website, it won't change a thing until you delete your temporary internet files, being that it is flash. So for every update, I have a new .swf file ie: 2801091.swf and this works perfectly fine. However when you enter the calendar, it loads the .xml file but it's always what's been cached.
1) Everything about the flash file can be revised if it's the newest version so dated .swf files aren't created every time there's an update?
2) A way to clear the .xml cache or refresh it every time the calendar is opened?
In a simplistic view, what I want to do is when the 'previous' or 'next' button is pressed, increase or decrease the page number by 1, which is easy enough, and start afresh...I though it should be a case of removing all the children from the scene and then executing the functions at the start of the script, after all the variables have been set.However, when I do this, I get the following error:
## [Tweener] Error: : [object preloaderMain_12] raised an error while executing the'onComplete'handler. ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
but later I want this onEnterFrame to stop functioning to conserve on processor resources.setInterval isn't too good of an option from the way I have things set up, so right now I just set it to a new function with a trace action which overwrites the old one.
I'm creating a gallery of thumbnails and main images from a loaded XML file.The initial load is fine and all is working, Thumbnails are produced in a masked movieclip and the first image is defaulted to display at start perfectly well. The gallery also has several categories in it which a user can view by clicking a button for each. eg Sites, Designs, Cards etc. Each of these categories information are held within different separate XML files. eg sites.xml, designs.xml and cards.xml etc.
Now here lies the problem. When a user clicks a new button the new XML loads the new information and the files display, but on top of the thumbnails/main images that were already present because the file that was initially open has not cleared. So what I want to do is simply remove the data that is currently being displayed, so in essence removes the images etc. Then replace those with the images from the new XML file.Is this at all possible because from searching the last week I haven't been able to find it. I guess I can't see the wood for the trees at the moment.
Here is the flash file I am working on for a local kids charity so you can see [URL]. If you press the next button 9 times it will bring you to a drag and drop game I have made, you have to match the targets so it spells cat, this works fine, the problem I am having is that the objects you match stays there for the rest of the frames (try it yourself by pressing next) I am just wondering how to clear this?
I am using a Flash Component in our web site to show videos but I need a way to clear flash cache every time the page is loaded. Such a Flash Component configuration is based on an XML file to get the videos that will be played. Is there a way to do it using C# code?
I am trying to create a flash visual showing a time series of data on a world map. I have created a flash file which 1) creates proportional circles for each country of interest (in this case 6 countries) and 2) has a timeline so that the circles change through time. I have successfully gotten the timeline to work with the proportional circles, however the circles to not clear out before displaying the new circles when adjusting the timeline. I am not able to figure out how to properly clear out the circles. I have tried using the holder.removeChild(c) command before I create my new circles, but get an error which states 'Parameter child must be non-null'.
If I have declared my vectos object as such ActionScript Code:
private var _delsUI:Vector.<Single> = new Vector.<Single>();
fill it with data like:
ActionScript Code: _delsUI.push(newListing);
Then later on I decide to use this: ActionScript Code: _delsUI = new Vector.<Single>();
Will this essentially destroy all objects and prepare them for GC if there are no other references any where else? or do I have to loop through the entire Vector and delete and set null each object?
how to clear the interval in this code? I'd also like to know if there is a better way of firing makeStars() than using setInterval in a function - like I'm doing. I've looked at the Kirupa tutorial and I'm not seeing what should be done.
Basically, this attaches a number of stars within the Stage width and height properties. When the browser resizes I rewrite the stars to the screen with the new bounds. But I can't get the interval to stop, so the stars just keep getting replaced - disappearing and relocating abruptly.
It all works great outside of the resizeIt() function, but once inside she goes down hill from there. A couple of things I need cleared up (pun intended) are:
1. Am I creating a new interval each time resizeIt() is executed?
2.What is the scope of the interval(s), and does how you access them change depending on where you are in the code, or are they more global?
stop(); //number of stars to make var numstars:Number = 100; _root.attachMovie("background","bkgd",this.getNext HighestDepth());
I am using previous/next buttons to navigate through various screens. Each screen has its own voice over track.If I hit the "Next" button in the middle of the track playing, then try to go back, the audio won't play - most likely because the position is still sitting at wherever it was when the sound was stopped.Is there a way I can reset the position? I am assigning the positiong to a variable (mySoundPosition), and have tried stting it to 0 (mySoundPosition=0), but that doesn't seem to help. I know that the position is read-only, so I was hoping that somehow clearing the value of the variable would work.Basically, I just need a way to start the sound over without having to envoke multiple start(); commands because that causes the sounds to essentially play twice, simultaneously, which doubles the volume.
I'm trying to clear the stage of all objects on there, so that I can show the next part of the game (albeit in a new frame, or by adding new MCs onto the stage).Basically, I have a loop checking to see whether or not the player has reached the end of the current level, as well as checking if the stage has been cleared yet:
my input field instance is form_comments and the default text I have in the field is "Your comments" the same code (with obvious changes) is working fine on my single line fields... just not this last one?
[URL]I got it working but the problem is, is when i go to the next frame the items that are matched succesfully stay there, I want to know how to clear them, so they don't get in the way of the next frames.
I got it working but the problem is, is when i go to the next frame the items that are matched succesfully stay there, I want to know how to clear them, so they don't get in the way of the next frames. Maybe it is something simple?
I have a need to have a section in an app I am creating where I have imported an external (print2flash)SWF into my main SWF timeline. When the button is pushed, it moves to a new frame on the main timeline. Problem is, when I forward to the next frame, the SWF stays on any future frame I go to. In essence I need to clear what was imported when I leave one frame and enter another.
This is the code I am using to import the print2flash SWF import Print2Flash.* stage.scaleMode=StageScaleMode.NO_SCALEstage.align=StageAlign.TOP_LEFT var P2FDocLoader:Print2FlashDoc3=new Print2FlashDoc3("modules/FlashDoc.swf",300,120,650,520,this)P2FDocLoader.addEventListener(Print2FlashDoc3.ONLOADEVENT, OnLoaded); var P2FDoc:MovieClipvar totalPages:Number=0 function OnLoaded(e:Event) { P2FDoc=P2FDocLoader.getDoc()} Is there away to add on on leave frame unload function?
I'm creating a dashboard with a lot of buttons that will display pieces of text from an XML file. The trouble is, I can't figure out how to clear the text from a field once it is displayed. If I push another button, the new data will replace the old data, but if the new button is display a smaller data set, it will only replace some of the former data set and the rest stays displayed. Does that make sense? I found some code that clears the text fields, but I don't know where to put it:
If I am on a flash heavy website, and I clear my browser cache, the site continues to function. Chances are the entire swf is not loaded into flash's active memory at the time I clear the browser cache (especially for sites that use large rsl libraries such as papervision3d). I can verify this with flash-builder's profiling tools. So, where are the swf libraries kept on disk (or in memory somewhere else?) which allow the site to continue to function?
I am trying to remove an event listener on a FileReference object by calling a function, but it seems not to be removed, and I do not understand why.
Here is the code: private function clearFileUploadListeners(file:FileReference, index:String):void { var dispatchEvent:Function = function(event:Event):void { dispatch(event.type, event, index); }; file.removeEventListener(Event.COMPLETE, dispatchEvent); var bool:Boolean = file.hasEventListener(Event.COMPLETE); if (bool) trace("ERROR"); }
When I run this code, the trace actually happens. I don't understand why this boolean returns true, when I just tried to remove the eventListener just above! I believe it has to do with the fact that the dispatchEvent function is defined inside another function when I add the listener:
private function upload(file:FileReference, index:String):void { var dispatchEvent:Function = function(event:Event):void { dispatch(event.type, event, index); }; file.addEventListener(Event.COMPLETE, dispatchEvent); }
The problem is that I need to access this "index" variable from the listener, and I can't set it as a global variable as each file has it's own index and it's a burden if I have to extend each event class to keep track of the index (Event, ProgressEvent, ..). I actually found a temporary solution, I am not sure if it is the best! I put my removeListener method actually inside the upload method, but made it a variable. As AS3 allows dynamic object, I attached this method to one of my object, and so I just call the reference to the method when necessary. The event is actually removed.
I've come across an undesirable effect of using JointStyle.MITER when clearing/redrawing graphics.My project involves managing custom line graphics with both round and sharp edges, which is why I would like to use a miter joint style.When the line thickness is greatly increased, even the round areas of the line are affected by the miter style. While I find this unfortunate, it's understandable and not the bug I'm referring to. the bug(?) occurs when decreasing the line thickness doesn't completely clear the graphics, as instructed to do so by the code each time the thickness changes, leaving artifacts of the line graphics where the line once was. Artifacts are also left by sharp edges, not just rounded corners.
I'm using Flash Player version 10.1.53.64 on Mac OS X Snow Leopard (10.6.4).use the left and right keyboard arrows change the thickness of the stroke of a round rect.The graphics artifacts are superficial. Dragging the shape over their location after they appear will remove them. Code updated with dragging functionality.[code]
I've got an array of multiple textboxes that will be used for entering information. However I made this function that should clear them all whenever they're clicked yet it says that the object I entered into the parameters==null.
var arrange:Array=new Array(TB1,TB2,TB3,TB4,TB5); function focuser(ityou:Object):void { trace(ityou)[code].....
I don't know if you can enter functions inside .addEventListener like in Lua but, I tried :P