ActionScript 3.0 :: RemoveChild(); RemoveChild()?
Feb 21, 2009I cant do 2 removeChild(); 's beneath eachotherSo their always will remain 1 child how can i delete that one?
addChild
removehild does work
removeChild
[code]......
I cant do 2 removeChild(); 's beneath eachotherSo their always will remain 1 child how can i delete that one?
addChild
removehild does work
removeChild
[code]......
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.
stop();
import com.greensock.*;
import com.greensock.easing.*;
import com.greensock.plugins.*;
[code]....
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
[code].....
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.
[Code].....
I have been struggling all day with adding a child then removing it. this is my first try at AS3 and i have no problem doing this in AS2.
ActionScript Code:
var nut:Shape = new Shape();
nut.graphics.beginFill(0x0000FF);
nut.graphics.drawCircle(20, 20, 20);
nut.x=200;
[Code]...
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.
View 2 RepliesI'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]
View 4 RepliesI'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.
View 17 RepliesHow can I remove the currentTarget?[code]...
View 5 RepliesI'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.
View 2 Replieshere is my script but at the bottom i have a removeChild function which isn't working.
Code:
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
[code]....
is there a "Best Practice" way to do this? This always gets caught up if someone changes too quickly...
public function infoFader(fadeMC:MovieClip):void
{
fadeMC.scaleX = 1.5;
fadeMC.scaleY = 1.5;
fadeMC.alpha = 0;
[Code]...
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.
Here's the code I've got:
var arrNavigation:Array = [{button:m1_mcButton, page:m1_mc},{button:m2_mcButton, page:m2_mc},{button:m3_mcButton, page:m3_mc},
{button:m4_mcButton, page:m4_mc}, {button:m5_mcButton, page:m5_mc},{button:m6_mcButton, page:m6_mc},
[Code]....
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?
View 1 RepliesI am adding a brick (movieclip) this way:
var brick:Brick = new Brick();
addChild(brick);
[code]....
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) {
[code].....
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]...
View 2 RepliesI 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...)
ActionScript Code:
vectorGallery.close_mc.addEventListener(MouseEvent.CLICK, closeVector);
function closeVector(e:MouseEvent):void{
vectorGallery.gotoAndPlay("close");
/*if (photoGallery.currentFrame == photoGallery.totalFrames){
removeChild(photoGallery);
}*/}
ActionScript Code:
this.parent.removeChild(this);
at the last frame of the gallery MovieClip.
But I think I'd rather do it correctly.
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?
View 0 Replieswhen 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.
ActionScript Code:
package
{
import Classes.View.MenuButton;
import Classes.View.Score;
[code]...
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)
[Code]...
I'm building a game which random puts out customers on stage by using addChild. The customers are also inserted into an array. When the game is over, I want to remove all customers on stage.I've written this code
ActionScript Code:
for (var m:int = 0; m < MovieClip(root).customersStage_array.length; m++) {
var curCustomer = MovieClip(root).customersStage_array[m];
[code].....
i have been searching for a solution to this for ages but whilst lots of others seems to be having a similar problem I just can't find the exact solution.
Ok so basically I have an onenterframe function which dynamically creates lots of circles from my library when I click my mouse. I use another onenterframe function to fade them. When they are invisible I want to remove them. The code looks like this...
[Code]...
I write code like this
ActionScript Code:
function onTehranClick(e:MouseEvent):void {
var mc1:History=new History();
var mc2:EnvironmentGeographycontent=new EnvironmentGeographycontent();
var mainSub:MovieClip=new MovieClip();
switch (e.currentTarget.name) {
[Code] .....
Now my removeChild don't work what can i do?
I have a website with a homepage in which I have a movieclip called "menutopmc" which, as the name says, is a menu on top of the stage and it is an MC as instance. Inside this mc I have 5other mcs and each of them works as button.On the stage I have an other mc called "website" in which I load the several pages of the website.Here is some code to understand better what I'm doing:code on the main stage where I automatically load an swf when the website loads:
ActionScript Code:
stop();
var websiteRequest:URLRequest = new URLRequest("azienda.swf");
[code]...
and here is the code I have inside the mc menutopmc in order to change the child previously loaded on the stage:
ActionScript Code:
function btn_content(eventObject:MouseEvent):void {
MovieClip(parent).website.removeChild(websiteLoader);
[code]...
Now, the new addChild in the function btn_content works and it loads the new child on stage but the removeChild doesn't work and this is the error I get:
1120: Access of undefined property websiteLoader.
I've drawn a few rectangles as MovieClips using the following method:
var hp_box13:MovieClip = new MovieClip();
hp_box13.graphics.beginFill(0x006600, 1);
hp_box13.graphics.drawRoundRect(hp_box13_x, hp_box13_y, hp_boxML_w, hp_boxML_h, 12, 12);
[code]....
I am trying to get a flv video to load on top of a parent swf. (A pop-up within flash). What I chose to do, was to put the flv player in a swf and try to load and unload it with the parent swf. This works great except when the child unloads, the music from the flv keeps playing. I am wondering if I have to do more than just a simple add and remove child. Here is what I have to load the swf when a button is clicked:
Code:
var movieLoader:Loader = new Loader();
playMovie_btn.addEventListener(MouseEvent.CLICK, showMovie);
function showMovie(event:MouseEvent):void {
movieLoader.load(new URLRequest("memories_vid.swf"));
addChild(movieLoader);
[Code] .....
Once it plays the outro animation into empty keyframes. Every attempt I have made to removeChild has not work. I still have the audio from the flv playing. How do I get "close_btn" to stop everything and to completely unload the swf?
If I add a movieclip to the stage like this:
Code:
var feedbackBox_mc:feedbackBox = new feedbackBox;
feedbackBox_mc.x = 807;
[code].....
I have this gradient backgroun where it goes from 0-100-0 of alpha.When I rollover a button, I add in the bg, and when i rollout of the bg, i remove it.The problem now is when I rollover the button the 2nd time,it seems like the bg added already have a previous added gradient bg, and it added a new 1 on top.so each time I rollover the button the alpha of the gradient will go higher
exp:
1st time rollover:0-100-0
2nd time rollover:10-100-10
[code].....