I'm sure I'm doing this all wrong, but hopefully not I'm new to AS3 and I'm making a basic shooter game. I am now to a point where when the enemy's health reaches zero, i want them to be removed from the picture. This is how I put them there...
I'm trying to figure out why I can't remove the child of the meteors immediately after they have hit the planet or a building so that it would only damage the building once. When I try to just 'removeChild(meteorArray[k])' AS says that the 'object must be a child of the caller'. I'm not sure what that means, but I thought that the meteor was the child of the main document class.
I'm trying to figure out why I can't remove the child of the meteors immediately after they have hit the planet or a building so that it would only damage the building once. When I try to just 'removeChild(meteorArray[k])' AS says that the 'object must be a child of the caller'. I'm not sure what that means, but I thought that the meteor was the child of the main document class.
I've set up and button/movie clip array so that when a user clicks on a button, that movie clip loads and the old one goes away. What I'd like to do is use "addChild" to load the new movie clip and "removeChild" to remove the previous clip. I've got the addChild thing...sort of...it loads all the movie clips onto the screen at once though and I can't get the script to work another way.
remove certain children of a MovieClip gamePage which I have added to the stage.. I have added a removeListeners Array loop to my validation button which should do this although children still remain.. I think I may not be targeting the movieclips correctly.. Here is my code (which works but throws Error #2025: The supplied DisplayObject must be a child of the caller.) it must be syntax related
function onValiderButtonClick(event:MouseEvent):void { var persoArray:Array = [gamePage.a1, gamePage.a2, gamePage.a3, gamePage.a4, gamePage.a5]; if((level == 1) && (gamePage.h1.occupied != true) && (gamePage.a2.hitTestObject(gamePage.h2)
I've condensed my problem to the code/situation below for testing purposes. I have several MCs. At any point, any one of them may be on the stage (via various other user interaction throughout the project - I've cut out all that for simplicities sake). I need a way to, at the press of a button, remove (from the stage) whichever MC happens to be there at the time. My hope was to put them all in an Array (or some other container??) up front, and then make code that would remove any of its current objects on command. Am I barking up the wrong tree?Here is the code. For testing purposes, I'm assuming that only one of the MCs ("b") have been added to the stage at this time:
var aroject1 = new project1(); var broject2 = new project2(); var croject3 = new project3();
I am working on a basic game in order to practice my AS3 coding skills. The point I am at is that when my enemies (Falling vertically down) touch the bottom of the stage I want to make all enemies in all of my arrays be removed. Now, the code below works perfect for that description of what I want, but it does not remove everything at the same time. Instead it does not remove all of them at the same time, and it's very noticable. As in there is about a 3-4 second gap between when the first dissapears and when the last does.
So will I need to completely optimize my entire project, or is that any way I can do this process that is more efficient? Also what are your thought on just changing all of the enemies y coordinates to -100 or something at first, and then removing them while they are off the stage?
I'm currently working on a system that loads images (by url flash gets from PHP).Now I've got a loop with addChild that works. I've put it into an array and I need a button with addeventlistener and then remove all the images in that array.[code]
When I'm removing an object from the display list (via removeChild), I'm performing a splice on all of the arrays that the object has:
[Code]....
My thinking was that this frees up some memory similar to disposing a bitmapdata. Does this even do anything? Or, will arrays be cleared and the memory usage restored when the object is removeChilded?
I'm trying to build a conditional statement that will addChild and removeChild at different Timer Delays. Before I go any further, I thought, I should mention that I'm usinig TweenMax to ease the alpha of ease Child from 1 to 0 and back during the process to imitate a fade-in/out.
I'm getting issue with only one line - inside a conditional statement.It's running "OK". The movie runs as I want it, but the remove/addChild transitions are not at the speed I want it at. I am getting an error message in the output, but other than that, the movie runs fine.
I've created a MovieClip that opens other MovieClips. These MovieClips are galleries with example of my art and such. Within these gallery MovieClips there is a "close" button, which is actually another MovieClip.
the problem
Everything works except that when I open one gallery, then close it, then open it a second time, the "close" button refuses to work.
I thought this was do to my incorrect use of removeChild, but now I don't know.
This is made slightly tougher by the fact that closing the gallery involves playing a closing animation, so first I put the removeChild on the last frame of the gallery MovieClip. That had the same result so then I tried it this way.[code]...
I'm using an onEnterFrame handler to load an external swf file which works fine at frame 190..
var fl_Loader:Loader;addEventListener(Event.ENTER_FRAME, fl_EnterFrameHandler); function fl_EnterFrameHandler(event:Event):void{ fl_Loader = new Loader(); fl_Loader.load(new
I can't upload the file here because it is too big but I will post the code and a tutorial link plus the problem I've been having.
What the code does is, it gets an image and places it on your stage. This image you place there is reduced in size and when you click on it, it creates a magnifying glass effect.
It works like a charm and looks very cool but the problem is that when I want to go to another page of my presentation, the image stays there, this is because of the addChild function I'm guessing.
Once again, no problem, I just added this to the AS code of every page : removeChild.
You've probably already guessed it, this only works when the child has already been placed. If I go to my intro page and I place the code there it will give me an error since the intro comes before the gallery code. If I don't put the code there it only works if the gallery has already been loaded and I click on pages that come after the gallery.
So what I actually need is code that detects if the child has been loaded or not and if it has, it should be removed, if not, don't do anything.
U can find all the code underneath, it's quite a lot.
This is the link to the tutorial : [URL]
ActionScript Code: ActionScript 3 Effect by Barbara Kaskosz. [url]www.flashandmath.com[/url] Last modified: September 30, 2008.
I've created a MovieClip that opens other MovieClips. These MovieClips are galleries with example of my art and such. Within these gallery MovieClips there is a "close" button, which is actually another MovieClip.Everything works except that when I open one gallery, then close it, then open it a second time, the "close" button refuses to work.I thought this was do to my incorrect use of removeChild, but now I don't know.This is made slightly tougher by the fact that closing the gallery involves playing a closing animation, so first I put the removeChild on the last frame of the gallery MovieClip.[code]
I'm working on a pretty simple flash application which basically plays a music clip downloaded from a web URL, and makes a stick man dance. I have it all working fine, however, I've used the addChild function on the start button to add the mc onto the stage, however, when I applied the removeChild function to take it off again, I get an error telling me that it hasn't got a caller.Here's the script:[code]I've had my tutor look at it, and she can't work it out either, but I do get the feeling that she's not much wiser on Flash than I am.
i have a quick question for you. Say i have a parent movieclip called "bob". Within "bob," i have another movieclip named "steve." within "steve," i have a bunch of other movieclips. Say i call removeChild(steve), from within bob. I know that will remove steve, but does that mean all the little movieclips within steve will be removed as well?
In stage button, MovieClip is there. When i click button remove the Movieclip. first time no errors. but next given below error. Ithink allready movieclip is removed from stage so how can i write code. And i also mentioned my codeTypeError: Error #1009: Cannot access a property or method of a null object reference.
at Untitled_fla::MainTimeline/onClick( btn.addEventListener("click",onClick) function onClick (e) {
I'm loading content into my .fla from an external XML file using URLLoader. Once the XML has loaded, I'm looping through the XML to create an XMLList for certain elements. I'm then creating a text field to contain those nodes. Each node gets its own text field so that I can easily create text links. Here's my code (with non-pertinent lines removed)[code]...
I have a MovieClip that loads other MovieClips. These I refer to as Galleries as they display some of my different web and art work. Each of these galleries has a close button (actually a MovieClip...) which works well enough. However I find that if I close a gallery and then re-open the same one, the close button refuses to do it's job again. The gallery remains open.
I'm pretty sure this is because I haven't used removeChild correctly. I knew I had a problem with this before, but thought I had solved it. Since, when the galleries close button is clicked, it plays a closing animation I couldn't figure how to add the removeChild for the MovieClip. This is what it looks like (including my commented out failure...)
You have two arrays, both containing a different set of movieclips. You drag a movieclip form one array, in to one movieclip of the other array. You can do that as many times as you like. So in fact, the movieclips in the second array are all droptargets. The thing is, I have one erase button which should erase all the movieclips from the first array only when they are dropped on the droptargets from the second array. In other words.. how do I remove the content of the droptargets without removing all the droptargets as well?
when the start button pressed I would like to add the 'start_mc' and remove the 'score_mc' if it is on the stage and when the score button pressed I would like to add the score_mc and remove the 'star_mc' if it is on the stage. I don't really know how to go about this without any error.
So, I'm running through a bunch of children in a container, doing stuff to them, then removing them from the container. Since I have both the index and the object reference, would it be better to call removeChild or removeChildAt? I'm leaning toward removeChildAt, but I don't know what's happening behind the scenes, and it's possible that one is just calling the other. Here's the loop:
Code: for (var i:int = container.numChildren - 1; i >= 0; --i) { var kid:CustomClass = container.getChildAt(i) as CustomClass; if (kid != null)