ActionScript 3.0 :: Push Remainder Children Up After Remove 1?
Nov 3, 2009
i have an ary contain a numbers of information as below
var ary:Array = new Array();var temp:Array;
var box_mc:Box; // this is a movieclip which contain dynamic text box inside.
// assume inside the array have 9 itemName
on the stage i got an empty empty movieclip and i add child from the array on it..
[Code]...
Problem:I could delete the item everytime i clicked on the remove button but it appears a gap/space between it. I want to push all remaining box_mc at the bottom up after i remove 1. It only push up when i come back to this page after i navigate to some other page. Does anyone know how to implement this ? P.S. i tried using enterframe and i failed, probally the way i did was wrong or watever.
Just wondered if I remove a parent movieclip and then set it to null, will it remove all the child movieclips within it from the Display list and also from memory, or do I need to iterate through the parent movieclip removing all its children before removing the parent?
Is there an AS math function, similar to CEILING in Excel? Basically, I need to be able to return the remainder for var x when it is substracted from another value (which is the closest multiple of 10 to var x). It's for a barcode check digit calculator. If the theory of barcode check digit anyone answer it is as follows (!):
1. Starting with the digit on the right of the number (excluding the check digit) sum all the alternate digit values, reading from right to left. 2. Multiply the result of step 1 by 3. 3. Sum all the remaining digit values. 4. Add the result of Step 2 to the result of Step 3. 5. The modulo-10 check digit is the smallest number which, when added to the result of Step 4, produces a multiple of 10
Example: To calculate the check digit for the EAN-13 number 501234576421C: 1. 1 + 4 + 7 + 4 + 2 + 0 = 18 2. 18 x 3 = 54 3. 2 + 6 + 5 + 3 + 1 + 5 = 22 4. 54 + 22 = 76 5. 76 + C = 80 C = 4
adding all the bricks of another movie clip into an array in my controlling mc (GameScreen). Except, when I try to remove them from the display list by accessing them from their array, I get
Quote:
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller at flash.display:isplayObjectContainer/removeChild()...and so on
I'm guessing it's something to do with adding another movie clip's children into an array in a movieclip that isn't the stored clips' direct parent, but it's parent's parent.
Code: private function checkBrickHit():void{ for(var i:int=0;i<brickArray.length;i++){
Well I'm starting to really enjoy AS3, my next question then is this: In AS2 I'd often remove all movieclips with something like this: PHP Code: for(var i: String in container) { container[i].removeMovieClip(); } Is there something similar in AS3 that I can do without resorting to maintaining an array of references to each child of my container?
I have a menu that is a type of wave, thus I'm using Flash, not HTML. My issue is that I have a bevel on that wave, but that bevel extends onto the text that is a child of the MC that has the bevel. Is there any way that I can remove the bevel from the text (Or technically shapes since they were imported from IL) without removing it from the entire element?
And yes, I've tried this.filters=[];
Also, I can't keep everything one shape in the MC, because I have hover attributes.
trying to remove instances of child/children. I have a function (btFnc) that creates a child (bT) and then the function is called several times to add instances to the stage - btFnc(264,3.6); btFnc(304,4.6); btFnc(344,5.6); btFnc(384,6.6); btFnc(424,7.6);Yet i cannot for the life of me remove all of the children, only 1.
Code: public class screen18 extends MovieClip { private var scrnXMLLoader:XMLLoader;//XML Loading class private var screenTxt:Array;
Isn't there a simple "remove all children" function in flash? I don't understand why this code isn't working. I add children via: for (var i in project_array[cp].project_type_clips){ container.header.type_loader.addChildAt(project_array[cp].project_type_clips[i],i); loadCount++ }
And then remove them via: for (var i in project_array[cp].project_type_clips){ container.header.type_loader.removeChildAt(i); }
But I get an error that the supplied index is out of bounds, and yet one clip is still left on stage. Likewise, if I try to add them without levels, like this: for (var i in project_array[cp].project_type_clips){ container.header.type_loader.addChild(project_array[cp].project_type_clips[i]); loadCount++ }
And remove: for (var i in project_array[cp].project_type_clips){ container.header.type_loader.removeChild(project_array[cp].project_type_clips[i]); } I get the same error.
I want to destroy/remove all the children of an object including grandchildren of those children and so on.
I was thinking of using a recursive loop along the lines "if you have children, check if they have children, if they do, check if THEY have children and so on until they have no children and if so removeChildAt(0) of the parent you last checked.
ActionScript Code: obj0 |-obj1 |-obj2
[Code]......
A quick second question, we all know that event listeners should be removed when no longer needed but I was wondering about the event.COMPLETE listener for loading say XML or a video file or any loader object. Is there any point removing that listener of is it in effect dead anyway because it has triggered when "COMPLETE" and won't ever trigger again? Isn't it still "listening"?
I have a set of swfs that open one on top of the previous as buttons are pressed. Thing is, once you've pressed buttons so many times that there are a ton of swfs on top of one another, the browser begins to run slower.
Is there anyway to remove all the swfs under the current swf in the code without disrupting the running of the current swf?
i want to do is to remove all the children (ninge) added with Timer when the user rolls out the mouse. The ideea is when the user moves his mouse over the movieclip it begins to snow and when it moves away i want all the snow to disappear.
ActionScript Code: rama2_mc.addEventListener(MouseEvent.MOUSE_OVER, rama2); function rama2(event:MouseEvent):void {
I want to remove all of the textfields for a movieclip, only textfields. Does anyone know how to do this?
Code: if(this.mcContentOnStage.getChildAt(i) is TextField){ "This must be a textfield! I need to remove it!" //this.mcContentOnStage.getChildAt(i).text }
is there a way to remove all children mcs from a movie clip in a way similar to
if (mc.numChildren) mc.removeChildAt(0);
(which is AS3 by the way) but for AS2? I need to "empty" a container movie clip from movie clips duplicated in it through attachMovie, so i can load other stuff AFTER its emptied
I created a loop that adds the same movie clip 22 times inside of another movie clip and pushed it into an array in order to control it later. But i can't seem to find away to remove those children from the movie clip... is there a way to remove all children of a specific movie clip? I tried to create another loop but i cant remove the children using removeChild(arr[i]);
So i have a calculator and converter on two different scenes. I have two arrays which i stored for my number and operator buttons. I am using a button function to switch between scenes and would like to remove the children for all the buttons inside that array however it only removes one button inside the array. This is the code i have so far: My buttons:
How do I remove all children from a display object container? I want to make sure that when I re-enter a particular frame that there are no imageLoaders loaded into my photoGallery.
I have created a flash file to serve as an image gallery with several different chapters. Each individual chapter is represented by a different frame on the timeline. On each chapter/frame, there is a thumbnail gallery at the bottom of the screen. When you click on the thumbnail, I have loaders set up to load and display the full size image. Then I have a loaderX.addEventListener set up so that when you click on the loaded image, it disappears. The problem occurs when you leave a full-size picture open, and then you navigate to another frame. Then when you try and click on it, you can't remove it anymore.
Now, I can't remove the loader(s) when the next chapter button is clicked because unless the user has clicked on the thumbnail, the loader has not been added to the stage, so there won't be anything to remove. I tried adding the following 'if' statement into the function that navigates to the next frame,
'if(stage.NumChildren >0){stage.removeChildAt(0)}
but the problem with that is that then it just removes all the children and either doesn't advance to the next frame or is just removing all children on the next frame as well, so i end up with an empty stage.
I've been dealing with this problem for close to two weeks now, and I can't even find a bulky way around it, never mind finding a tight clean fix.
So i have a calculator and converter on two different scenes. I have two arrays which i stored for my number and operator buttons. I am using a button function to switch between scenes and would like to remove the children for all the buttons inside that array however it only removes one button inside the array. This is the code i have so far: My buttons:
I'm using for loop to display 3lifes on stage using:
[Code]...
and I have already create a hitTestObject on the character, once the character comes in contact with a movieclip, removeChild(Life); is triggered. The first child removed successfully but when it comes to the second one, an error appear:
[Code]...
What should I do to solve this? and how do I trigger an event after no more life is left?
My problems comes in when you have to open a different image album and have to eliminate all the previously loaded children in the movieclip. When i load a new album i used a code you posted here: AS3 How to remove previous loadersbut the problem is that sometimes the user leaves the album page before ALL the pics laod so when they click on a new album to open it a new image is placed somewhere else cause the loader has already been launched. I've tryd to close() the loader but it doesn't seem to work.Here you can see the working site to see what im talking abouy you have to click on an album, leave before all the pictures load and open up another one.
getImage(dataList[0].file) function getImage(href:String):void { var loader:Loader = new Loader();
This is the code i used in a gallery that loads images sequentally. My problems comes in when you have to open a different image album and have to eliminate all the previously loaded children in the movieclip. The problem is that sometimes the user leaves the album page before ALL the pics laod so when they click on a new album to open it a new image is placed somewhere else cause the loader has already been launched. I've tryd to close() the loader but it doesn't seem to work. Here you can see the working site www.barbarabritvin.com (to see what im talking about you have to click on an album, leave before all the pictures load and open up another one.
getImage(dataList[0].file) function getImage(href:String):void { var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.CO MPLETE, imageReady);
I have a class in which I have declared an array. The functions in that class are designed to make changes to the array, but it's not working:
[Code]...
Anything I do to customerCheck treats it as if it were a new array. This is especially obvious when using customerCheck.push in addCharToCheck() -- the trace always shows a blank array before push and an array with one object in it after the push... then next time it does the same. I know I'm making some sort of fundamental error regarding the scope of the array within the class but I just cannot find any good information on how to fix it! Moving to AS3 (been coding it for all of about 3 weeks) is a nightmare so far, and it seems to be the 'easy' stuff that causes me problems
I'm making a OSX-finder-type file browser in CS4.The Structure for the folder and files is being generated by a PHP in a XML, heres an example:(sorry the xml is not sorted, but the command i'm using in php doesn't sort it)
In this game attached I need the old Children (rats) to hurt the character when he walks into them, however only the most recently added Child is active in that way... also the rats seem to appear above the character instead of below, is there any way to resolve these issues??
I have a Sprite called pageContent. Inside pageContent are 12 more Sprites with unique names, a couple of Buttons, and some TextFields. Inside each of the 12 Sprites I have either one or two TextFields and one TextInput. My question is, since they are children inside a child of pageContent, how can I access them? Here is how I am trying to do it:
[Code]...
In my mind, this should totally work. But surprise, surprise, it doesn't. I have debugged it and it works fine for the first two lines, but when it tries to get numChildren of a Child of pageContent (line 3), I get this error: PHP Code: 1119: Access of possibly undefined property numChildren through a reference with static type flash.display:DisplayObject.
I want to have a rollover effect of a movieclip (mo1) inside a movieclip (mo) of another movieclip (popup1).Is it possible to do that? I try calling it using this code in the frame 1 of my flash, am i doing wrongly?