ActionScript 3.0 :: Remove A Child Of The Display List If It Exists Before Adding Another To The Stage?
Mar 3, 2009
I'd like to remove a child of the display list if it exists before adding another to the stage. This gives me Error the first time I call it because 'myMC' doesn't exist.
HTML Code:
function callMc(){
if(myMc) removeChild(myMc);
I have been through many threads and none have helped. I am trying to remove a child if it exists. I am clicking on the button and sometimes there is no other child loaded. I want some code that looks to see if a child is loaded and then if so unloads. There are going to be at lease 5 possible .swf files loaded. [code]
I'm not talking about removing a child by simply using the removeChild(); method, but a more complicated (I think) way. For example, If a add a 'box' MovieClip with addChild, and I have a 'close' button inside the 'box' MovieClip, I want the 'box' MovieClip to disapear when I press the 'close' button. I tried
Code: addEventListener(Event.ENTER_FRAME, onEnterFrame); function onEnterFrame(event:Event):void {
I'm using a Timer to load a different swf (into Sprite) every couple of seconds, it works great but I can't get the previous swf removed before the next one loads, heres the code (I know, its really basic)
What i'm trying to do is create an errorAlert class. The role of this class is to as you might expect display an alert:) So the current class is set up in such a way.
1. pass in an errorcode returned from the server into the constructor.
2. This runs through a switch and sets a msg variable to the right textual prompt based on the code. At this stage it also sets an alert type, so as an example it could be a severe alert where the user has no option other than ot refresh the browser. Or it is a softer alert where the user is able to press a close button and proceed.
Because all of the type handling and everything is held within the class. I want to avoid adding the instance to the display list within the main document class. Ideally just letting the class add itself to the stage AND IF it is a softer alert, it can show the close button, add an event listener, and, then remove itself.
I load an png image and add it to the display list. Now I want to add this image more than once, like a pinball game there could be 3,4,5 balls, all with the same image. But I cant add the same image reference more than once to the display list, right? So should I make a copy of it? How can I copy it and add to the display list without needing to load it from file more than once?
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/removeChild() at working_loader_container3_fla::MainTimeline/frame4() at flash.display::MovieClip/prevFrame()
I have been getting this error after a bunch of different ways of trying this. I am attempting to create a new instance of my movieclip which displays external images via xml. I want a new instance of the movieclip every other frame and need to be able to remove each instance on every other frame. It will work going forwards, with a remove child call but as soon as I go back a frame, the error pops up.
I have a single image I imported to the library of an Fla document. I could have easily imported it to the stage, but I chose the library instead. It is a .png file. It's name is ace_clubs.png. On import a symbol was created by Flash and I deleted it. THE ONLY THING IN THE LIBRARY IS ace_clubs.png . I then right clicked on the the image and filled in for properties the following:
1. Export for ActionScript
2. Export in Frame 1
3. The class was by default named ace_clubs.png which I renamed to my_images .
4. The base class by auto default is flash.display.BitmapData
So how do you get the image (ace_clubs.png) to display in the Flash movie at say (0,0) ? Meaning in the ActionScript window what code is needed?
I have an embedded image asset (with a scale9 grid), and I'm trying to get the bitmapdata when it's resized, but I can't seem to do this without adding it to the display list.
why I cant kill a child in my display list. So I'm working on an ad that is going to load in different swfs depending on the link you click. What I wanted to happen is when the ad loads the first swf is auto loaded in to my container. Then when you click on the next link the new swf would cancel out the last one. What I am getting is an overlap of the swfs and I understand that. I can't figure out how to kill the other children. I tried unload and remove child but have been unsuccessful.
I have a movieclip, let's call it "myMC", that is very long (5,000 frames) over the course of which many dozens of nested movieclips are added/removed as children to/from "myMC".Without reference to the nested clips, is there a way I can add a listener to myMC and listen for when an object is added/removed from it (something along the lines of Event.ADDED)?
i am slightly confused about the parent and child relationship. lets assume we have several different instances, what would be difference of adding them all as children of the stage and creating a parent-child hierarchy between them(other than the access path).
I'm trying to add the btns in array "but" via stageMc.addChild(section1), but instead of tracing "section1" I get "instance1", and of course stageMc wont advance. I guess what I'm asking, is whats the diff. from a functional standpoint if I embed the clips in flash, or embed them into the stageMc clip via the display list? what am I missing? FYI, this code works, so long as i place the assets on stage myself. But I want to add the btns via the display list, and i can add them, they just instanciate wrong?
how do we remove object( sprite which has an external swf as it's child ) from display and more importantly from memory yet we still can use the same variable to add another object (yes another sprite like the one we removed yet has different content).., "
i did tried the removeChildAt thing it did remove all the child from the display list but i still can hear sound from video running.
here is small scale code of what i'm doing (sorry that i can only give you chunk code of loading and adding)
// var SWFList:XMLList; //used to hold a list of all external swf source,atribute and etc// var totalSWF:int; //hold the total number of external swf there is to be loaded // var swfLoader:Loader; //instance of loader class used to load the external swf
I created movie clips that I want to add to the stage (from the library) by the use of buttons. I have a total of six buttons (and six moviclips) but I am trying to get the first two to work before I move on to the next buttons. The problem is I can't seem to remove the movie clip when another button is clicked, or the same button... Like I said I am new at this and I think a created a mess of things... I am getting error 2007 now
I am trying to remove a swf that I import to the stage, but it is not working. Code: function btn_cima_3call(clickEvent:MouseEvent):void{ page = 5; esconder(); content.gotoAndStop(page); ld.load(new URLRequest("trabalhosV0.swf")); ld.x = 0; ld.y = 100; addChild(ld); }
So when 1 button is pressed this swf is imported to the stage. but im now trying to remove this when another button is pressed and it isnt working? Code: function btn1call(clickEvent:MouseEvent):void{ removeChild(ld); page = 1; content.gotoAndStop(page);}
I'm trying to use a variable to remove a child from the stage and I get this error: Scene 1, Layer 'action', Frame 108, Line 471067: Implicit coercion of a value of type String to an unrelated type flash.display:DisplayObject.
What I'm trying to do is to link some keys to add movie clips to the stage. But I need to have only one movie clip at the time on the stage, so, if I press a key to add a movie clip on the stage, the one that is already there needs to be remove. So I set a variable called "actualConf" to hold witch movie clip is on the stage. I simplified the code a bit to add it here (If I press "Q", the movie clip "lise" is added to the stage, then if I press "W", I want the movie clip "lise" to be removed than "nancy" to appear), I added a comment where I get the error :
Code: Select allstop(); var actualConf:String = "null"; var lise:mcLise; var liseX:Number = 50 var liseY:Number = 50 [Code] .....
Because I will have about 15 keys linked to 15 possible movie clips, I don't want to use the "if" condition 15 times.
I have a movie clip on the stage with the instance name "ball". In my code, I addChild(ball) to a Ball object called "mainBall". After doing that, I want to remove "ball" from the stage. Finally, I add addChild(mainBall) to stage. The code takes place in my Document class: var mainBall:MovieClip = new Ball()mainBall.addChild(ball)stage .removeChild(ball)addChild(mainBall) From the code, I get the error: "The supplied DisplayObject must be a child of the caller".
I have a map with various regions as movieclips. When you mouse over a region, a sprite appears containing xml data. Among this data is a hyperlink. I want the sprite to stay on the stage until one of two things happens:
- you mouseout of the sprite - you go to a new region
That seems to be the problem. I've successfully coded the program to remove the child if you mouseout of the sprite. But if you go to a new region, it makes a new sprite and now you have two sprites with xml data on the stage! If I remove the child when you mouseout of the region, then the sprite won't stay on the stage for you to click the hyperlink. How can I make the sprite stay on the stage until:
- you mouseout of the sprite - you mouseout of the region IF you aren't on the sprite
I am using the following code to generate a bullet (I have a bullet it the library linked Bullet):
ActionScript Code: function createBullet (bulletSpeed:Number, startx:Number, starty:Number) { var bullet:MovieClip = new Bullet(); bullet.x = startx;
[Code].....
upon the bullet.x getting to less that 50 it deletes the movieclip ok (other instances of the bullet are still onstage, which is what I want) but it gives the error:
ActionScript Code: ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller. at flash.display::DisplayObjectContainer/removeChild() at Function/<anonymous>()
I am trying to make a "Achtung! die kurve" - like game in Actionscript 3.0. So far I've done the movement of one of the 'worms', and it works alright. I wanna divide it into different class files, but I can't seem to get it to work. I have a .fla file and 4 .as files. So far I only have code in two of these. When I put all my code directly into the fla file, it works perfectly fine, but when I put it into my player class, it won't 'add the child' to the stage. Here is my player .as file: [URL].
The reason why I commented the addChild, is because I wanna do this in my mainFile.as. This is from the main file: [URL]. I'm not quite sure how to call it in the main file, so I'm guessing that this would be the issue. All the files are named and placed correctly in the same folder, and flash says that each of my .as files are targeting the .fla file, so this doesn't seem to be the issue. How I can change the speed of my sprite.
chat.fla Code: Select allimport maero.entities.*; var p:Player = new Player(1, "player one");
[code]....
There we go. What i want to do is, I want to create an instance of the Player class, which then creates an instance of the Actor class, which in the _draw() function should add an image to the stage, but I can't figure out how to do that. I want this image to be an instance in the Player's Actor instance, so i later can move it around, the same goes for the user name text. how do i add an image and a user name text field to the stage at player.__x and player.__y?
I have made index swf which is loading other child swf's into index these swf's are images.swf,portfolio.swf, about.swf etc.., I have made 2 public function in each swf which is construct or diconstruct. when i unload any swf then i play disconstruct public function of every child swf.. I stuck in when I remove stage event listener of every child swf then it shows error.