ActionScript 3.0 :: Flash - Replacing Array And Removing Previous Children?
Mar 14, 2011I have this code that takes the string values out of an XML file:
Code:
publicfunction loadXML(xml:Event):void
{
[code].....
I have this code that takes the string values out of an XML file:
Code:
publicfunction loadXML(xml:Event):void
{
[code].....
Okay I have two arrays, one full of bullets, the other enemies. They compare each array and hit detect. The splice function is removing the Array instance of the enemy. Now, this is all good for removing the entry from the array, the trace function says this is working, but I'm not sure how to remove the child from the stage here? I figure calling a custom class from here such as enemy.die(); is possible, but how do I specify the instance that was hit detected? Sorry if this doesn't make a lot of sense but I am just learning and trying everything I can think of.
[Code]...
I have swf_1 and a button in it, which should load swf_2 replacing swf_1.
View 5 RepliesWhat I've got is a holder swf that loads in a separate swf. Within this loaded swf there is a button, that when pressed, removes itself (as in, the swf the button is placed within is removed) from the holder swf and loads in a new swf.
This seems incredibly complicated to achieve, at least I think it is
What I've got so far is this, the holder swf...
Code: Select allpackage {
import flash.display.*;
import flash.net.URLRequest;
import flash.events.*;
[Code].....
I would like to be able to draw a simple box as a background/placeholder, dress it up with buttons and movie clips at design time, and at runtime call a function to replace the simple box with a new design. How would I go about doing this? I have a graphic design that is too complicated to make with flash. So i made a piece of actionscript that can restyle any existing movieclip. This piece of code works. It basically gets the coordinates of the specified mc, creates a new one in it's place and deletes the original. Unfortunately this also removes any nested movieclips and buttons and breaks animation tweens of this mc. So if the original mc would have a button on it and animates from left to right, the new one doesn't.
mc.clear(); looked very promising, but it only clears stuff you put on it at runtime while I need to clear the stuff from design-time. (= the simple box drawing object)Creating a movieclip with the same name, at the same depth doesn't seem to work. oldbox.parent.createEmptyMovieClip(oldbox._name, oldbox.getDepth()); The old movieclip keeps existing and neither of them animates.So I'm searching for a way to replace a movieclip or clear it's content at runtime.
I would like to be able to draw a simple box as a background/placeholder, dress it up with buttons and movie clips at design time, and at runtime call a function to replace the simple box with the new design. How would I go about doing this? I have a graphic design that is too complicated to make with flash. So i made a piece of actionscript that can restyle any existing movieclip. This piece of code works. It basically gets the coordinates of the specified mc, creates a new one in it's place and deletes the original. Unfortunately this also removes any nested movieclips and buttons and breaks animation tweens of this mc. So if the original mc would have a button on it and animates from left to right, the new one doesn't.
mc.clear(); looked very promising, but it only clears stuff you put on it at runtime while I need to clear the stuff from design-time. (= the simple box drawing object)
Creating a movieclip with the same name, at the same depth doesn't seem to work. oldbox.parent.createEmptyMovieClip(oldbox._name, oldbox.getDepth()); The old movieclip keeps existing and neither of them animates.So I'm searching for a way to replace a movieclip or clear it's content at runtime. Or am I thinking in the wrong direction and are there other ways to restyle a movie clip?
I have various movie clips that play when a button is clicked.My first movie clip (instance name is "MCABOUT") which plays on the press of the button called "about". I have another movie clip (instance name is "MCPORTFOLIO") which plays when another button called "portfolio" is pressed. I have a stop() applied within each movie clip so that they stop playing once they reach their end frames. My question is: How do I get the "ABOUT" movie clip to disappear from the stage when I click the button for "PORTFOLIO" and how do I apply this to make any additional movie clips disappear from the stage once another button is clicked so that the movie clip attached to that button plays (in other words, whatever movie clip is presently on the stage disappears)?
View 2 RepliesI 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.
Whats a better way to remove an old image or an image that is not there at all?I am working with this XML slideshow and I have tweaked it the way I want, except the first image that loads doesn't disappear. How can I make this statement better? I've tried if (previous || imgHolder.numChildren > 0 ) as well and didn't work
package
{
import flash.display.MovieClip;
[code]........
im making a game and it has enemies randomly spawning at the top of the screen going down to the bottom, so far it all works fine, except for when i try to remove the enemies I get this erro.[code]
View 1 RepliesI have a movieclip in which I want to remove all of the children that are of type textfield, leaving anything else.
This is what I have so far but it throws an error.
Code:
if(String(this.mcContentOnStage.getChildAt(i).type) == "[object TextField]")
{
"This must be a textfield!"
//this.mcContentOnStage.getChildAt(i).text
}
I am rebuilding my website and need to remove a mc when another mc is clicked. [URL]. The movie clips are pages and if you check the link you will see the pages aren't removed they simply stay on the page when the new mc appears. This is the relevant part of the .as which appears to have a remove code but doesn't seem to take affect.
function navigate (e:MouseEvent):void {
trace (e.target.name);
// Remove the current movie clip
container_mc.removeChildAt (0);
switch (e.target.name) {
[Code] .....
I am using a loader to load an asset to the stage from a class, the image is called "1.jpg". Using a timer event, after a certain amount of time that image is to be replaced with image "2.jpg", then after some time it is replaced with "3.jpg". etc.The way I set it up is using a series of if statements inside the timer function. At timer count 10, I first remove the child from the stage and then load the new image.[code]
However the removeChild(my_loader) does not work, it gives an error saying that it cannot be null
I have a MovieClip that I dynamically add other MCs as children to. Now I'd like to have a function that removes ALL children at once. I tried a loop with (i < mc.numChildren) but somehow it will only remove even-numbered children, the odd ones stay on stage?
View 12 RepliesWhat would be the most efficent way to remove the children from a sprite/movieclip in respect to memory and garbage collection?I have seen atleast three ways.Simple re-assigment
sprite = new Sprite();
null and then new
sprite = null
[code].....
I have a problem with removing children. First button is adding movieclip each time you click and second button has to remove all of added movieclips, but it just dont work.
Code:
//add 2 euros
buttonDvaEuro.addEventListener(MouseEvent.CLICK, pridatDvaEuro);
function pridatDvaEuro(event:MouseEvent):void{
[code]...
how to remove a mc when another mc is clicked.The movie clips are pages and if you check the link you will see the pages aren't removed they simply stay on the page when the new mc appears.This is the relevant part of the .as which appears to have a remove code but doesn't seem to take affect.
------
function navigate (e:MouseEvent):void {
trace (e.target.name);
[code]....
I have a datagrid in a flash app. The intial use works fine. The flash has the ability to recalculate the needed data which I then use to repopulate the existing datagrid. What is the best way to clear out a datagrid and repopulate it?I tried:ifxGrid.dataProvider.removeAll();but it does not clear out the previous dataifxGrid.removeAllColumns();this worked a little but not entirely.So what's currently happening is that the new data is appended to the old data. So if I had 50 rows in the 1st calculation and then I have 70 rows in the 2nd calculation I end up with 120 rows of data in my datagrid.
View 3 RepliesI am creating images by loading in thumbnails and creating a bitmap of each form the press of a navigation button. However I cant seem to remove child of the previous button pressed. You can see thge example here [URL].
Code:
function loadImage():void {
var loader:Loader = new Loader();
var urlRequest:URLRequest = new URLRequest(imageURLs[loadedImages]);
loader.load(urlRequest);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, imageLoaded);
[Code] .....
so i am trying to create a "endlevel" function for my game, in this level i will need to remove all event listeners,stop all timers, remove all children off the stage and empty all arrays. i understand how to remove all event listeners and to stop all timers:
PHP Code:
myTimer1.stop;
myTimer2.stop;
[code]....
I am having trouble determining where to add my removeChild() statement to clear multiple movieClips from a container mc. I know I need to determine if the container movieclip contains anything. I don't know how or what I should put and where to put it. If I can determine if my container mc has movies in it, I am assuming I can just declare it again (i.e
PHP Code:
panel= new MovieClip();
)to clear it. Am I correct?
[code].....
Question 1Whats a good example of removing objects from stage that aren't within the stages boundries. I first tryed using a transparent box and hittesting. then i realized that you cannot hittest an object that isn't on stage, to check if needs added. so i came up with this.
Code:
for (nn=-1; nn<2;++nn){
if (this.hu1.room+nn>=0 && this.hu1.room+nn<this.walls.ar.length){
for each (n in this.walls.ar[hu1.room+nn].ar){[code]....
That way it only adds the object if its not currently on the display list or am i better off just giving all objects an onscreen:Boolean variable?
I'm having trouble removing some preloader movieclips I have inserted via AS3. The message I get is:
[Code]..
To give a brief background of what's going on here.I am building a personal site where I have a navigation, and I have other subnavs inside of certain pages.Such as if I go to "work" inside of work i have "motion", "web" & "print".Here is some example code of one button on the navigation:
nav_mc.personalbtn_mc.addEventListener(MouseEvent.CLICK, buttonClick2);
function buttonClick2(event:MouseEvent):void {
gotoAndStop("personal");[code]...
It seems to me that actionscript will not read all the way down to the bottom when looking for objects.For example: The first if statement where it's asking if workss_mc exists or not, that will work if it's at the top, but if I move it down to the bottom it will not work.
I'm making a rather large flash project and so I'm concerned about memory usage. At the end of each section of the application I remove the overarching parent element that holds the content. Although this remove the parent, does this also free up the memory for each of the children contained within this, or should I run an iteration to remove those prior to removing the parent?
I'll give a little more explanation in-case I'm not expressing what I want:
addChild(movie1);
movie1.addChild(movie2);
movie1.addChild(movie3);
By using this code:
removeChild(movie1);
Does it remove movie2 and movie3 from memory or are they still stored, just unlinked?
So basically I've got a MovieClip called Jug and when the egg is clicked and dragged to the Jug I want it to disappear and then re-add itself in the place it first started. Aswell as this I want a variable to be added by 1 in value. I have tried fiddling around with this for a while now and I can't figure it out since when I remove child it gets errors. Here's the code:
[Code]....
I am creating a number of text fields dynamically and then adding them to various movie clips within a function like this:
ActionScript Code:
this['services'+i+'_mc'].addChild(btnTxt);
...how can I later remove them from their movieclips outside of the original function? I have tried everything I can think of. For example if I run another function with a loop and try
ActionScript Code:
this['services'+i+'_mc'].removeChild(btnTxt);
I am creating a game and want to reward the player at the end of a level by playing an animation. I have created a timer to add the animation to the stage but cannot figure out how to remove the animation once the timer has completed counting. I am sure you wise scripters out there know the secrete to this mystery.
[Code]....
I've spent hours, and for all my self taught newbie-ness, I can't crack this: I have a navigation panel with several buttons. Lets call it mainNav. The mainNav buttons each add to the stage their corresponding MCs. They also remove any MCs from previous buttons currently on the stage. This is done by creating the MCs as variables, pushing those variables into an Array, and, when the mainNav button is pressed, calling the following function to remove the old (provided with assistance of the nice folks here), and then addChild(correspondingChild)
[Code]....
i'm getting the #1010 error... code below:
Code:
var curProject:int = 0;
var curExample:int = 0;
var container:MovieClip = new MovieClip();
im.addChild(container);
[Code]....