ActionScript 3.0 :: Add Instances On Stage Through AddChild In A For Loop?
Mar 5, 2011
Ok what i want to do is to put MORE than one instance of a MC on stageFor that i try to create a name to the MC inside a (FOR) loop (working)what dident work is to put multiple instance of it on stage.Seem preety basic but i can figure it out
function generateHex(e:MouseEvent)
{
tileSet.x = tileSize;
I'd like to create a chain of objects (either movie clips or sprites) that move left to right across the stage continuously. I know I can create two movie clips that contain a series of several 'chain links' and are each a little wider than the stage width. Then I can move both clips across the stage and when the first movie clip is completely off stage reset its x position back to 0. Likewise, when the second clip is completely off the stage on the right, reset it's position off the stage to the left.
This works and gives me the basic effect that I want by creating this uninterrupted moving chain, but it doesn't seem like its the most efficient way to achieve this. What I thought would be more efficient would be to create each link in the chain separately from an individual mc in my library by programmatically adding new instances to the stage.So, I created a single chain link mc and set its export linkage to 'Link' and left the base class to flash.display.MovieClip. Next, I placed the following snippet of the code on the first frame of my movie:
I thought would be coded like this: var sp:Sprite = new Sprite(); sp.graphics.beginFill(0xFF88CC); sp.graphics.drawCircle(0, 0, 50);
[Code]....
however, I realize even tho im looping that addChild method, its still adding sp, so do I add a new naming convention in the loop, or should I be adding these instances to another display object.... this seems like such a simple thing to do yet I cant figure it out, I also want to randomize the x and y, but this first seems to be the issue I need to address.
I have a MovieClip called item with the same linkage set and my first task is to display 10 of these items on the stage nested inside a movieclip called MainItem. I have dragged MainItem to the stage and have the following for loop:
I need to remove all the instances of a movieclip that I am adding to the stage using addChild.I use a loop to add several copies of the same movieclip onto the stage. Is there a way to remove all these movieclips at once.I've tried several things but nothing seems to work.Below are the for loops that I am using to add and remove the children from the stage. Note that the initial for loop adds a number of instances of the movieclip "colorbox2" based on the contents of textboxes. This works fine, however when I trace(colbox.numChildren) it just shows "1" regardless of how many instances it adds to the stage. Shouldn't it reflect the number of instances it added to the stage? The 2nd loop removes one instance of the movieclip from the stage, but I can't get it to remove all the instances of the "colorbox2".[code]
I have a button that was added to stage using addChild when the page load, the button is suppose to be removed using removeChild and redirect into its specific page using event.target.name...somehow i got this error: Error #2044: Unhandled IOErrorEvent:. text=Error #2035: URL Not Found.
I have try replace this line, var newswf:URLRequest= new URLRequest("./swfs/"+ event.target.name +".swf"); with this, var newswf:URLRequest= new URLRequest("./swfs/about.swf"); and everything works fine, but i dont want that since I want it to load dynamically and uses less code..
my code as below:
var about:About = new About(); about.x = 300; about.y = 200;
Is there a simple equivalent to what I used to do in AS2 to add a bunch of new objects to the stage and throw them into an array so they can easily be referenced? I'm finding this more difficult than it used to be.
Old code:
ActionScript Code: mc_array = new Array(); for(i=0;i<5;i++){
Is there a simple equivalent to what I used to do in AS2 to add a bunch of new objects to the stage and throw them into an array so they can easily be referenced? I'm finding this more difficult than it used to be.
I am just trying to grasp a simple concept of utilizing loops, addChild, and eventListeners.My goal is to use a loop to create multiple instances of the same type of object from my library (called Ball), and when one is clicked, have it move "above" all other instances on the stage (and eventually drag, but that's easy enough to make happen later).My current code attempt is:
for(var i:uint = 0; i<=10;i++) { var my_ball:Ball = new Ball() //new instances of Ball from library export
I cant get addChild to work withing a loop (while).
I have a range of movie clips in the frame hidden away. These are called item_1, item_2, item_3 etc.
It works FINE when Im adding say item_1, then item_2, but if the code tries to add "item_1" twice, it seems to just overwrite the first new "item_1"!?!
This is what I need to do, and it just wont work!
ActionScript Code: while(i<10){ this["item_new_"+i] =new MovieClip(); this["item_1"].y = 0;//I put this in just to make sure they line up right
- loop through the Grid array and place each tile on the stage
- assign RedBall a random Grid coordinate and places it on the stage at that coordinate
I want to be able to click RedBall, which will create a border around the tile beneath RedBall, and create borders around the tiles above, below, to the left and to the right. BUT, I don't want to reference the tiles by their distance in pixels from RedBall or from each other; I want to reference the tiles by their coordinates in the Grid array. So I want to:
- get the coordinates of RedBall
- use those same coodinates to reference the tile at the same coordinates in the Grid array
- use the tile's coordinates to reference the tiles above/below/left/right
- apply a border to all these tiles
What's the best way to reference an instance of a tile? Should I apply a name to each instance as it's created in the loop? like myTile.name = "tile"+i+"_"+j; ? If so, how do you reference that instance later? Just tile1_3 ? Do you have to prepend it with root, or stage, or the class it was originally created in? Do you have to use getChildByName? OR, can you still reference it later without having given it a name?
There's 3 boxes I'm indexing through with a timer. They disappear in sequence. How do I make them reappear?
boxes disappear in sequence 1-3
var pink:Array = ["","boxInstance1","boxInstance2","boxInstance3"]; var timer:Timer = new Timer(555); timer.addEventListener(TimerEvent.TIMER, onTimer);
[Code]....
I'm not to particular about the sequence they disappear and appear, but it need to keep going in a loop.
I'm trying to create a vertical column of images in a mc that can be clicked. I've added listeners to reposition them once they load, but right now they are overwriting each other. I'm not sure how to rename the object and listener vars for each iteration. [code]...
I'm trying to parse an XML file, and use it to create instances of a custom class the fly in actionscript 2. (can't migrate to 3 for this project).I'm trying to make something happen like:
Code: for (var i:Number=0; var<n; var++) { instanceName="MyObject"+i;[code].....
Which doesn't work.When it's all done, I need to have n objects named MyObject1, MyObject2, ..., MyObject(n).
I have created 4 movieclips and named (instance) them box1, box2, box3, box4 and shuffled them with the following code: var vector_name:Array = new Array("box1", "box2", "box3", "box4"); function shuffle(a,b):Number { var num : Number = Math.round(Math.random()*2)-1; return num; } var shuffled_vector:Array = vector_name.sort(shuffle); trace(shuffled_vector);
How can I tween the instances using fl.transitions.Tween with a loop. I tried the following but did not work.. btnPlay.addEventListener(MouseEvent.CLICK, startMotion); function startMotion(me:MouseEvent):void { btnPlay.visible = false; for(var j:int = 0; j < 4; j++) { var twSlide:Tween; [Code] ......
Here's a piece of script I would like to condense into a single loop where the number of instances created would be dynamic:
Actionscript Code: //create instances of Door objectvar door_1:Door = new Door();var door_2:Door = new Door();var door_3:Door = new Door();var door_4:Door = new Door();var door_5:Door = new
I'm very new to Adobe Flash CS5.5. Can you create a common instance EG: "Enemy" and then control it like so: Enemy.x += 1; So that all instances of Enemy will move forward one pixel each frame? Instead of just one enemy? If this is not possible could I set up some sort of array of enemies like you can in C and try something like: int EnemyNo = 1; for(EnemyNo = 1; EnemyNo < 5; EnemyNo++) { Enemy[EnemyNo].x += 1; } Does Flash even support "for" loops?
i am creating a certain amount of instances of a class-object (called Jaar).When i click on one of them, I would like to change a value (isSelected) in all the instances of this class.How can i do this?So far i have this (simplified version) :
basically i want to create ten balls on the stage. I have a balls.as file which uses the drawing api to create a circle within it. also within the balls.as file there is a public variable.[code]how would i go about finding out: if you click one of the balls it traces that balls life.
- loop through the Grid array and place each tile on the stage - assign RedBall a random Grid coordinate and places it on the stage at that coordinate
I want to be able to click RedBall, which will create a border around the tile beneath RedBall, and create borders around the tiles above, below, to the left and to the right. BUT, I don't want to reference the tiles by their distance in pixels from RedBall or from each other; I want to reference the tiles by their coordinates in the Grid array.So I want to:
- get the coordinates of RedBall - use those same coodinates to reference the tile at the same coordinates in the Grid array - use the tile's coordinates to reference the tiles above/below/left/right - apply a border to all these tiles
What's the best way to reference an instance of a tile? Should I apply a name to each instance as it's created in the loop? like myTile.name = "tile"+i+"_"+j; ? If so, how do you reference that instance later? Just tile1_3 ? Do you have to prepend it with root, or stage, or the class it was originally created in? Do you have to use getChildByName? OR, can you still reference it later without having given it a name?
I'v been toying with this for a few weeks now and I'm trying to find the best way to animate several instances of an object created by a for loop thru an ENTER_FRAME function.When the function runs only 1 of the 3 instances that were created animates.
var balloonArray:Array = new Array();var balloon: hotAirBalloon;var xVel: Number = -3;var yVel: Number = -4; addEventListener(Event.ENTER_FRAME, startBalloons)