ActionScript 3.0 :: How To Remove Number Of Child From Flash Game
Jan 19, 2012
I've only started using Actionscript 3 recently and am having difficulty removing a number of childs from my flash game (a variant of frogger). My aim is when the player's character (WWalk) touches the EndGameZone on the other side of the stage, the generated Lorries should disappear, so I can put an ending animation on scene two. I can get it to load Scene 2 but cannot get rid of the lorries - They just stay still and don't disappear.
Code:
stage.focus = stage;
//adding keyboard control over the character to control direction
stage.addEventListener (KeyboardEvent.KEY_DOWN, CWWalk);
function CWWalk (e:KeyboardEvent) {
switch (e.keyCode) {
[Code] .....
flash and am trying to create a vending machine game but I seem to have come unstuck. The coin_slot that I have added doesn't seem to remove from the stage after frame3. I have included colour to the the event triggers to allow me to see what is happening at the moment the coin_slot image that I add does seem to remove from the stae but there still seems to be something hidden within the stage. This is still in really rough stage of development I just need to figure out the code at the moment.
i'm new to AS3 and i was wondering what is the best way to remove a child at a point. i tried Holder.removeChild(Holder.getObjectsUnderPoint(new Point(exampleX, exampleY))[0]); however that returned ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
I have an issue where removechild won't infact remove a child. I think its something to do with my dropTarget.parent issues. The concept of the code is that you drag a source onto a destination. When you drop the source onto the destination you will get a text field that says "Hello" or "Goodbye". The objective i want to achive is that once i drop a source onto the destination, removechild will remove any previouse textfields added. This is proving difficult.
So try running a test where you've placed several copies of a movieclip on the stage in the authoring environment and then linked the clip to this class:
The first clip will remove itself but the rest won't. The trace statement in the contructor isn't even executed which indicates that the other clips aren't even contructed.
So I suppose Flash has some method of contructing all the clips which were placed in the authoring environment and it involves counting the clips and noting their position on the display list. So removing a clip during the process of constructing them will disrupt the process by altering the display list.
But it gets even weirder. Try adding a click event listener to the stage. The clips won't respond at all. But it's not like they're just not mouse enabled, because if they were then the stage would still respond when you clicked them because you'd be clicking what was behind them. Instead they block any mouse events from reaching behind them. So not only are they not constructed, they obstruct any mouse events from occuring in their space, and they're still visible.
I also just discovered that the same applies to all clips that are to be contructed afterwards, regardless of whether they're the same class.
so I have a movieclip on the stage(lets call that selection movieclip) that once a button is clicked is going to open another movieclip(call this slideshow) I am trying to remove the selection movieclip when you launch the slideshow movieclip.
the problem is that when i click on first button the Movie Clip does load ok but when i click on second button the first movie cliip is visible, i have try everything i have read here but no luck, i want to learn how to remove first child and allow only the second child to show up, i am looking forward to add more buttons so the remove child should be for multiple buttons, i am learning and so far did purchase a online tutorial but did not help me with this situation,
Whenever I try to remove an object/child with enterframe running I always get null reference error.In my particular case, the setup is Battlefield contains a lot of Robot:
A child (Robot) dispatchEvent that it is destroyedThe parent container receives the event and starts removing the child by removeChild and remove the child from an array of Robots.on enterframe, during a loop to move the robots around, sometimes I would get null reference, so I have to call if (robots[i] == null) continue;
How do you safely remove the child without sprinkling if robot is null all over my enterframe?
Every time i click "add new table" btn, i create new MC. Now i wish to remove any MC from stage... When i click either "Masa1", "Masa2".. and so on, then "delete table" btn, the target MC is removed. How do I do that?
I am working on a website right now, which involves using framescripts to invoke instance methods from the document class. These methods are supposed to trigger the new content of each page, e.g. a galleryCreate() method that creates an instance of a custom Gallery class. The other job that this method must perform is run a check to see if there are any other children that need to be removed prior to trying to bring up the new content (for example, to prevent multiple Gallery instances from being created, or a Gallery instance being created when a Newsfeed instance is still on the display list).
This was the solution I tried: script on frame labeled "gallery":
ActionScript Code: galleryCreate(); Script in document Class after the main constructor. Spaceball is an empty MovieClip declared at the beginning of the class as an easy point of reference to the root.
ActionScript Code: public function galleryCreate () { if ((spaceball.parent.getChildByName("gallery")) != null) { trace("An instance of the Gallery object was found and deleted"); removeChild(spaceball.parent.getChildByName("gallery")); } gallery = new Gallery(); addChild(gallery); }
When I ran the program, I clicked on the button to the gallery page, and the gallery came up alright. However, when I clicked on it a second time, I could see from the alpha of some of the elements that additional classes were being placed on top of the original ones. The trace in the if statement was never registered. So to troubleshoot this problem, I inserted the first two traces into the beginning of the galleryCreate() method, and the last trace at the end.
ActionScript Code: trace(spaceball.parent) //returns [Object Body], Body being the document class trace(spaceball.parent.getChildByName("gallery")); //returns null //after Gallery has been instantiated in the new gallery object trace(gallery.parent); //this returned [Object Body]
Running the program again, the trace(spaceball.parent.getChildByName("gallery") would consistently return null, followed right after by a trace that recognizes the parent of the newly instantiated Gallery object to be the Document class. Doesn't that mean that it should be recognized as a child during the second iteration of galleryCreate()?
when i do this it does remove the child BUT i get the old "The supplied DisplayObject must be a child of the caller." business. How would i do this properly?????
below shows how to add child in a movieclip. ebd.target.addChild(info_grd); there is button named my_btn inside the movieclip info_grd.I would like to remove movieclip info_grd.parent
Basically every functions without hitTests are removed without errors, but all the ittestobjects that i have in the end game frame says that it cannot acess a nullhitTestObject. One of the hitTests i have is this one:
if (this.hitTestObject(_root.anulpowerups)) { this.parent.removeChild(this); removeEventListener(Event.ENTER_FRAME, checkCollision);
none of it worked, It's just a minor cleanup really. Whenever you click a new picture you can see all the ones underneath it during the load so I just want to clear out those items or rather clear the loader before it loads something new.
I have a missile which gets fired once the mouse button is down. The main class snippet is:
ActionScript Code: public function moveTheBullet(event:Event):void { if(buttonDown)
[code]....
The bullet is now flying across the screen thanks to the Rock class which control its velocity and direction. When the missile is off the screen, however, I'd like to remove it, so it doesnt eat up memory. This is how I'm trying to accomplish that (the code's in the Rock class):
ActionScript Code: public function moveIt(event:Event):void { if(this.x > 200)
[code]....
But yeah, its not working at all. I'm getting the error: Error #2025: The supplied DisplayObject must be a child of the caller. how to remove the bullets.
I am making a game (surprise, surprise). In the game there are things to collect, possibly lives. I can add them to the screen but removing them is an issue. The best way I have worked out is to create a sprite called livesContainer, add all the lives to that, then, if the user returns to the main menu, I can remove all of the lives by removing that one container. Here's how I create all of the lives and add them to the stage. This all works and you don't really need to read all of it.[code]...
Main.swf creates a new instance of the SuperMan Class. I'm trying to get the SuperMan class to remove itself when you push a button that the class creates. I'm using:removeChild(this);However I am getting the error:ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
I added the child each and Every time,once the child is added,when i add the next child the previous child is deleted this is my goal. am trying to remove the Child ,But Nothing Displayed in my screen. here my coding
In AS2 you could use numChildren to get the number of children in a given XML file, whats the equivalent in AS3? Ive tried using var myNum:Number = myXMLname.numChildren , but when I trace it I just get 0.
So i have this flash game with couple of different scenes And im trying to remove all of the movieclips when the scene ends because i keep getting a loop of errors, for example this one TypeError: Error #1009: Cannot access a property or method of a null object reference. at BlobBobScenes_fla::MainTimeline/star() I have tried removing these
This is just an example.. however i am trying to attach a M.C to attachHere. This is fine. However the following code is thn meant to remove 2 of the attached M.C's but i dont know how to reference it so that it removes the clips that are attached to attachHere...it works fine if i just attach the M.c's to the stage...
i am trying to use remove child i get the following error in the output panel
Hide video and learn buttonsremoved videoArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/removeChild() at DSE_MAIN_dizzy3_fla::MainTimeline/removeMedia() at DSE_MAIN_dizzy3_fla::MainTimeline/setNewMedia() at DSE_MAIN_dizzy3_fla::MainTimeline/onIntroClick()
i think the function thats causing the error is called removeMedia()this function is called from another function which is called by a buttonpress
I have made an xml object and add few children to it. I use appendChild() to add a child to the XML. But if i want to remove one, what should i do? I tried to search in the reference but I cant find a remove function.