Dynamically Adding Movieclips To Stage In 'for Each' Loop
Dec 2, 2009
I am reading in collection objects from an XML file. Each collection has an img field that stores a URL to the collection image. So I am trying to load the images of each collection, storing each image in a MovieClip, and add these MovieClips to the stage. However, my problem is that after adding a MovieClip (with the collection image) to the stage, when a new MovieClip is created in my 'for each' loop it overrites the previous MovieClip. So the images I am adding to the stage are being replaced by the following collection's image on each loop iteration. What can I do to avoid this?
I am reading in collection objects from an XML file. Each collection has an img field that stores a URL to the collection image. So I am trying to load the images of each collection, storing each image in a MovieClip, and add these MovieClips to the stage. However, my problem is that after adding a MovieClip (with the collection image) to the stage, when a new MovieClip is created in my 'for each' loop it overrites the previous MovieClip. So the images I am adding to the stage are being replaced by the following collection's image on each loop iteration. What can I do to avoid this?
Here is my code...
var collXML:XML = IXml(assets.collections).xml; var collNodes:XMLList = collXML.children(); for each (var collInfo:XML in collNodes) {
I am trying to write some code for someone show wants to be able to control their timeline animation by using the slider component. Everything was going fine until I tried to add the Play and Pause buttons to the stage. I instantiated both movieclips and added "stage.addChild(<mcName>);" but neither clip showsup when I test the movie. I tried removing "stage." but that didn't help either.
I tried to find a solution to my problem online, and while I haven't figured it out yet, it seems that these movieclips might need to be part of a function. This could be totally incorrect, but it's the best guess I have right now.
My AS code is below. (I couldn't get the .FLA file to zip small enough, but if anyone wants it, I'll find a way.) See comment "// PLAY/PAUSE CODE" for Play/Pause buttons.
ok. so here's the thing..i have a class from where i created an array with the time, name, and position of each movieclip data.. and wanted it to go through each one and execute at a certain time.. So i tried something like this:
[Code]...
the first part works well.. but its when i try and add it to the stage that i get confused.. i tried something but i think its wrong.. can anyone help me? Basicly i want flash to get the array.. use index 1 for the name.. index 2 for the x position and index 3 for the y position.. but all this name referencing in as3 really confuses me.
i have a class from where i created an array with the time, name, and position of each movieclip data.. and wanted it to go through each one and execute at a certain time.. So i tried something like this:[code]the first part works well.. but its when i try and add it to the stage. Basicly i want flash to get the array.. use index 1 for the name.. index 2 for the x position and index 3 for the y position.i have already linked the movieclips on the stage
Basically I have 5 movieclips I want positioned around the stage. So I figure the best way to this is with a for loop. However the way I've coded it doesn't appear to add new movieclips and seems to just move the first movieclip 5 times and it always ends up with an x of 169. Here's my code:
Code: for (i=0; i<5; i++){ var barName:MovieClip = _root.game.attachMovie("butSquare","r1wBar"+i,_root.getNextHighestDepth());
i have an array of coins that are layed out on a map for a character to come pick up.i have the coins displaying on screen but i cant get a simple hit test to work. it only seems to work on the last coin created, i presume because the 'i' value hasnt been appended to the name. i knew how to do this in as2 but dont know the syntax for as3. ive attached the file for you to have a look at.
I have a little problem with a loop. I recieve som data from a database and gets it back as an array. I then use a loop to add movieclips dynamicly and this works fine to, but if i try to trace the id from an onRelease function i get an undefines, but when i dot it outside the onRelease it works fine. This is the code. Its in a class by the way.
The correct code to constrain movie clips to a container movie clip (or sprite or whatever) in the fashion I was looking for is this:
var picContainer:PicContainer = new PicContainer(); picContainer.x = stage.stageWidth / 2 - picContainer.width / 2; picContainer.y = stage.stageHeight / 2 - picContainer.height / 2; addChild(picContainer); var totalPics:int = 17; var pic:Pic = new Pic(); //make an instance just to get its width [Code] .....
I'm currently reading the book Learning Actionscript 3.0 and I cannot figure how this was done. In chapter 6, there is an example of Ingeritace, Encapsulation etc. where there is a class called Vehicle and from that class a few more classes were created Car, Truck etc. and everything make sense but there is something I don't know understand, there are two MovieClips that are added to the stage at run time and I can't figure out how those clips were added to the stage, I tried doing my own version and I tried exporting these MovieClips checking the Export for actionscript option under propeties but it doesn't work.
I've created a drop down list and populated it with dynamic buttons. (I made a DropDown_btn class with a dynamic text field in it and then filled the button text from an xml file). On rollover I tint the button blue and then set the tint back to black on rollout. When you click on the button I'd like it to stay blue until a different button is clicked.
...and then I need to addEventListeners back to any button that doesn't have them and set that button back to black. I could do this by looping through an array of the buttons but I can't figure out how to access them as objects.
I also gave them each a property of "buttonValue" when I loaded them so I can access event.currentTarget.buttonValue (which in this case is a number from 1-5) but once again I can't figure out how I might leverage this information.
I have connected to a web service built in java and would now like to add the products to a stage. I want to show 5 products and if a user clicks <- the previous 5 and -> next 5.
Code: import mx.data.components.WebServiceConnector // Add preloader here var wsConn:WebServiceConnector = new WebServiceConnector(); wsConn.addEventListener("result", res); [Code] .....
In the res function I would like to add my movieclips but I don't know how to move on.
I using a loop to dynamically create some movieclips and then position them using the ._height and .width values.
When they are created I use a Listener and LoadInit, to check that everything has loaded. I do this because I want to be able to access the ._height properties of the movieclip in order to place them next to each other and centre them vertically.
If I place the following 3 lines outside the function:
inBead._x = currentPosition; //gets the start position currentPosition = currentPosition+Number(mainLoader._width); //gets the position and adds the width of the movieclip
i want to loop through movieClips like in AS2; i have some movieClips and Components on the stage.i want loop through them to check their properties. i had used [ getChildName ] method to get the movie clips ,but i can't access their properities.
here's my code
Quote:
for(var i=1;i<=4;i++) { var tempisplayObject = getChildByName("my_mc"+i); trace(temp.currentLabel); }
when i run this code i am getting error like this
Scene 1, Layer 'Layer 2', Frame 1, Line 251119: Access of possibly undefined property currentLabel through a reference with static type flash.displayisplayObject. i am getting the same error also when i access to components.
I'm adding several similar movieclips to the stage with a 'for' loop. However, I'd like to increment the position of each movieclip when added on to the stage. I know exactly where I want each movie clip positioned as well. At the moment I just have a small 'for' loop which setups the movieclip. Like so...
I am trying to create a card game (deck of 24 cards/6 cards will be dealt to the stage at one time (3 arrays)).
I want 6 cards to be dealt to the stage when you click the "Deal" button. I think i have the loop set up properly, the first array traces, however i can't get the cards to be added to the stage. What am i doing wrong? Once i get the first set of cards to be built to the stage, i will want to remove the previous set and the second set will be dealt to the stage once the "Deal" button is clicked again.
//code var aArray = new Array(); aArray[0]=Card1; aArray[1]=Card2;
I have an XML file with a list of photos. I have loaded the XML file into Flash (CS3 / AS 3.0) and I am iterating through the list to load the photos. The problem is only the last photo displays. I would like to load each photo and then create a movie and "copy" the loaded content into the movie clip. Here is my code:
So I want a dialog box (this is the movieclip) to pop up when I click a button and then go away when I click another button. This is what I came up with...
ActionScript Code: eyebtn.addEventListener(MouseEvent.CLICK,popUp); function popUp(event:MouseEvent):void
I have an image (.jpg file) in the library and I want to instantiate it dynamically through timeline code and then add it to stage. But I do not want to drag it and drop it from the library to stage, I want to keep it in the library and add it to stage through code only... how can I do that?
I think removeChild() is the most confusing thing in my life at the moment when it really shouldnt be. I'm dynamically adding a set of mc's on the stage, im tweening them from alpha 0 to 1 with tweenlite, I then have a button to remove the items in reverse, but for some reason I can seem to get my head around tweening them back to alpha 0 in reverse order. I can remove them from the stage with removeChildAt(0), but I would like the animation. Any one have any solutions for this. I have attached the code and a test file =]
Im trying to dynamically add several of the same movieclips to the stage. This movie clip contains a textbox. I have tried the following:-[code]I have my movieclip exported fror actionscript with the identifier as (textbox). This code does add a textbox to the stage however it only adds the second one which says "goodbye" but not the first one which should say "hello"? I thought the loop should go round twice and add a 'newText1' and a 'newText2'??
I'm adding several similar movieclips to the stage with a 'for' loop. However, I'd like to increment the position of each movieclip when added on to the stage. I know exactly where I want each movie clip positioned as well. At the moment I just have a small 'for' loop which setups the movieclip. Like so...
ActionScript Code: for (var i:uint = 0; i<=8; i++) { zone[i] = new Zone(); }
I then have a long list adding and setting each mc position on the stage...
Although I've just had a thought as I was typing that last bit of code. Will I need to setup a for loop for each row...so the y position remains constant and I just increment the x value for each movie clip, and then repeat this for loop for the next row with the new y coordinate?
I am trying to add children to a dynamically added swf file, using AS3, before I add it to stage
Here is the code I have thus far,
AS3:
var mLoader:Loader = new Loader(); var mRequest:URLRequest = new URLRequest(glo.bal.base_url+"videos/vid_1.swf"); mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler_one); mLoader.load(mRequest);
[Code].....
Inside the vid_1 swf there is a movie clip called box_one, I would like to append a image to box_one, and only have the swf added to stage after the image file has been added to box_one.