ActionScript 3.0 :: Animating Instances Of An Object Created By A For Loop?
Dec 25, 2009
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)
I thought this would be simple but for some reason I'm having all kinds of problems. Why won't the for loop create a new c instance each time the loop increments, like it does for sHolder and s? ...And, assuming it is possible to make it do this, how can each instance be given an identifier that can be accessed dynamically, like sHolder and s in the traceSomething function?
- 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?
- 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?
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 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) :
i am creating a list of buttons with an attachMovie. the AS is :
//as var i = -1; while(++i<userlist.length){ var user = userlist[i];
[Code].....
okay the problem is this: then i assign an on click function to every button right in the while loop that uses the data parameter of the "ob" object and when i play the movie the data parameter is always the parameter of the last object created for all the buttons. I know why this is happening- it overWrites the old "ob" with the new with every itteration of the loop.
But how would i go differently about creating an individual "ob" for each button created and still be able to have a function with a data parameter like this.onRelease.userClicked(data)?
I'm trying to create an accordion menu that contains three submenus. The idea is that when you mouseover one submenu (or rectangle, to keep it simple) that the rectangles which were previously covering it will move to reveal it. Menus of this type can be found at the bottom of nvidia's site [URL] for reference.
At first I tried creating each function, which will make the rectangles move, separately but this resulted in three very repetitive functions and there seemed like there should be a better way, especially since I'd like a good way to add and remove submenus. The animation did work then. I tried to clean it up by creating a for loop that would move each rectangle but now, for some reason, it doesn't work. It is still missing some key points such as utilizing the mOver variable to figure out when each rectangle is moused over and act appropriatly
I have many buttons in my flash, its function is when a button is clicked it will animate. The problem is when I click the button, it animates, but when I click it again, it does not animate. It should animate again when clicked. Someone told me to have a loop so that it will animate again but I have no idea regarding looping in flash.
Here is my actionscript: stop(); custom_btn.addEventListener(MouseEvent.CLICK, custom); function custom(event:MouseEvent):void { gotoAndPlay(2); stop(); [Code] ...... [URL]
I've got an xml file that is providing text to the swf. The flash file is supposed to go through the xml file and each time it reads a node it is supposed to create a text field on the stage with the text from the XML file. Then it is supposed to animate along the y axis for a short time, pause for a few seconds, and then continue animating along the y axis. (like a news ticker on a News Channel). Anyways, I've got the FLA reading the XML file fine and it even creates a text field populated with the text. But I can't get the text fields to animate inside the loop.[code]I can get the first text to animate. But I don't understand why the "i and j" version doesn't.
I've got a movieclip with some bitmaps rotating in 3d, all good there. But when I load a swf over it and animate an object in that swf, parts of the 3d object underneath it disappear.I've attached some screenshots to show sort of what I mean. I've got a link if you'd be interested in thinking it out with me.
In my main class (BaseController.as) I created a number of instances.
public class BaseController extends MovieClip implements IMXP { public static const DEBUG_MODE:Boolean = false; // APP APPLICATION SPECIFIC VARIABLES public var mapLoader : MovieClip;
I'm creating a DDR style game. The 'moving graphics' are being randomly and dynamically created with the default instance name (instance28, instance 30...) I want to be able to refer to these different elements according to another movie clip I press (in this case, they look like piano keys).
So, if a 'C' moving graphic is created, I want the C movie_clip with a listener attached to check the 'C' moving graphic.
im develloping an application for create a layout of advertising newspaper. the user can set the number of pages, and create rectangles represanting the adverts, then drag them and place them into the the representation of the page.the display list is as follow: on the main stage there is inputs textfields and a button that create the pages according to the number that the user typed.Then instances of the pages are created (MC Page in the lybrary exported for AS as Page and i have a class Page as well). Inside this clip Page i have my tools for create the rectangles and drag and place.....As well as the instances of my pages are created, button(1 for each Page) are also created. NOTE that Page and button are in the main stage My probleme is that i want my button to change the depth of is related page for it can be on top or alpha at 100% or the visibilty to true, but my button doesnt find the instance name of the pages at the export because they are not yet created.
this is my first post on this forum so please take it easy on me as I am sure that this will be a simple answer for most of you out there. Here is what I am working with: I have dynamically added 4 buttons to the stage using XML data and a loop to place as many buttons as will allow per the data. Once the game begins, a MovieClip that I have also added to the stage will jump randomly from frames 1-16 and stop using a stage event listener. I need to have event-listeners on each of the buttons I have created using the XML data to check to see if the user has selected a correct answer. I had intended on using a function that would check to see which button was clicked and check to see what frame the movieClip was on when that button was clicked and judge right or wrong that way.
I'm a beginner at this, so this may sound like a dumb question, but I don't have the time to figure it out on my own.I'm trying to get a group of symbols to remain in the configuration that they are in, but rotate around a fixed point, and actually make them move in this circular path instead of a straight line.
I have a question about the Java Factory; I've read somewhere that: "... the JavaFactory will check if there is already an instance in the scope and return that. If the object is not available then it is instantiated ...", but I don't understand the expression "if the object is not available"?I am having trouble to find and/or assign classes already instantiated (by another class) in the server, to a declared destination.
I'm developing an application in Java: J2EE.I'm running it on a Tomcat 6 server I'm using BlazeDS to communicate with Flex. I'm using the RPC's Remoting Service (through RemoteObjects)There are two java classes that handle Client (Flex) interaction, say ApplicationClass and UserApplicationClass:
ApplicationClass has a reference (attribute) to a UserApplicationClass instance
I mean only ActionScript. Is that possible to animate an object so that it moves on pre-drawn in Flash Professional trajectory? I know, I can use onEnterFrame with some math equations to move object around, but what if trajectory is too complicated? You see, I don't even know how to formulate the question.
Right now, I have a car object named car that I want to animate around a track. I did the animation using a motion tween, then used the Copy Motion as AS3 option, the code looks something like this (arrays have been simplified so as not to take up too much room). The code works just fine, the car moves around the track like I wanted it to, but I was wondering is it possible to press a button to stop the animation at a certain point, then resume playing it again when pressing a different button?
ActionScript Code: var motionGuide:MotionBase; if(motionGuide == null) { motionGuide = new Motion(); motionGuide.duration = 20; [Code] .....
I am trying to make the sleigh bell sound stop when my object(santa) reaches the end of stage. First of all, I don't exacly know how to write an if statement, second I get an error when I try to stop the sound.
var mySound:Sound = new bellsSound(); mySound.play(); var myTween:Tween = new Tween(santa, "x", Regular.easeOut, -100, 810, 25, true); addChild(santa);
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] ......
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?