ActionScript 3.0 :: Flash Referring To Movieclip In Array Using Names?
May 1, 2011
I am writing a program where I have used multiple movieclips (boxes) that are put into a grid using a nested for loop.
Each movieclip is in an array and I want to give them names (box1, box2, e.t.c) but when I try to trace() them i get this in the output: "[object gridBox]".
Now i need something like stuff=array1[3]; (this makes an array called stuff which is a copy of array2, hopefully) and then myvar=stuff[3] (which is "succes").. get it?
I have a movieclip on the stage in which I have some 90 movieclips also on the stage.
I created an array to hold the movieclips. But when I try to add eventlisteners to these movieclips by cycling through the array, I get a 1009 error ("Could not parse the XML. Error #1009: Cannot access a property or method of a null object reference.") Oddly, however, the application seems to work correctly, handling my listener events.
On the other hand, if I add eventlisteners for each movieclip individually, all works fine--no errors are thrown.
Using AS3, I was wondering how to control one object, a ball, while another ball bounces around. I'm modifying code from "Foundation ActionScript 3.0 Animation" by Keith Peters.
I'm pretty new so I'm probably making some obvious mistakes here. First of all I thought I could refer to the balls as ball[0] and ball[1] since they are in an array called ball. Is this correct?
I have an object that I add movieclips into when a user does something.
I'm trying to loop through the items in this object later and perform something when object.objectName = something, however I'm finding it hard to get the right code to use in place of the something.
code within a function that adds movieclip to object:
Code: if (thisHImage==1) { healthArray[healthIndex] = new mcCake(); }
[Code]...
when i trace(healthO.objectName) i get [object mcCake], but it won't enter the if statement,
I have a button located in a movieclip which I want in its overstate to gotoAndStop a particular labeled frame located in a different movieclip. How do I go to a frame of "movieclip A" by interacting with an element of "movieclip B"? Must I sever the relationship between the button and the movieclip its in which I wouldn't want to do...?
I worked again on a new Project and stumbled while trying Arrays. I have two cubes(cube_mc, cube2_mc) in my scene.
My code: var gy:Number = 0; var gravity:Number = .2 var moving:Array = new Array(cube_mc, cube2_mc); this.addEventListener(Event.ENTER_FRAME, gravityFUNC); function gravityFUNC(event:Event):void{ gy+=gravity; moving.y+=gy; };
I was trying to put both cubes into the array, and then affecting the whole Array with gravity. When I test it nothing happens, and it shows no errors.
I just started "coding" in AS3. By "coding", I actually mean trying around with features and generally trying to grasp the vast amount stuff you can do with this software of. I have some coding experience, however the way Flash likes to hide code snippets all over my project does tend to confuse me. Not knowing where I tried putting the code and/or rewrote some other stuff keeps me sorta busy.
Anyway, my issue is this:
Messing around with movieclips inside movieclips, I've keep encountering the error "1120: Access of undefined property onTimerComplete." I do realize that this error generally is caused by not having defined an instance correctly or not having it defined at all - an error beginners tend to make. Nonetheless, I'm not trying to refer to an instance/symbol, I am trying to call a function defined on the stage from within a movieclip that also is placed on the stage.
I've been reading huge amounts of text/articles and how-to 's, but they all seem to only touch the subject lightly or simply going in head-first - becoming far too complicated for me (a beginner) to grasp.
So, trying to sum my questions up into something that looks like a tl;dr:
- What's up with levels, "_root" and referring to functions like in the older versions of flash?
Flash tells me to use some display-package instead of _root, when I use that... (I do realize the article is from Flash 5.0)
- How do you refer to a function defined on the stage, from inside a movieclip? (The function is a timer, that is supposed to make the mother-movieclip continue to the next child-movieclip.)
Is it possible to, if you have an array of class names like ActionScript Code: var city01names:Array = ["pic_01", "pic_02", "pic_03" ...] make a new array which would read these names, instantiate them, and push them into a new array containing the instances of all these pictures, which I could then use for a slideshow?
This code is listed for each button instance and to forward the user to a frame on the main timeline (NOT the timeline in the MovieClip itself).
Again, this code is contained in the MovieClip itself and not on the main timeline, as the buttons exist in the movieClip I.E. button1_btn to button21_btn
Lastly, to provide a visual idea of what i'm expereincing, please refer to screenshot embeeded in this message or the attachment (same thing).
I've been seaching on how to get the key names of a flex Array as there is no such function in the Array class. Here is my answer that may be usueful to any of you.
I was wondering if it was possible to create the name of a NEW array dynamically. I have tried the following with no success. Does anyone know if this can be done?
Actionscript Code://Tried and failed_global["newArray"+newArrayNumber] = new Array();//Tried and failed_this["newArray"+newArrayNumber] = new Array();//Tried and failednewVariable = _this["newArray"+newArrayNumber];newVariable = new Array();
I have an array called mclipArray with the names of movie clips stored in it as follows: mclip0, mclip1, mclip2, mclip3....and so on until mclip99. Later in my code I want to run a loop using "i" as a counter variable from 0 to 99 and then depending on the value of "i" add various movie clips to be inside the movie clip that corresponds to "i". For example if I want to add a movie clip called "someMovieClip" as a child of my movie clip called "mclip6" and my loop has been running and "i" is now equal to 6, how can I use "i" to reference the correct index stored in the array. mclipArray[i].addChild(someMovieClip); The above code doesn't work.
I want this to be sorted by first name only: "John Smith 18", "Charlotte Smith 59", "Chris Doe 26", "Tony Jordan 100", "Charlotte Roberts 17", "Imad Hanna 26", "Charlotte Smith 13"
I can get it sort sort alphabetically just by using .sort(), but it takes into account the last name as well.
I have an array that creates 7 mc clips with names.I'm trying to make each one of those peices clickable.When clicked each peice will slide over to the far left "barrier_mc" and stop.Actually not true, the one closest to the "barrier_mc" will stop at the barrier and from then on each piece will stop when it hits the one beside it (kinda like a 7 car fender-bender). This isnt the problem im trying to work through right now, although i will in the near future.
What im trying to figure out is the array that creates the mc's names them like the following "" infoBar"+i+"_mc"". What im trying to do is call that in a function so that i dont have to type in each of the 7 mc names manual I.E (infoBar0_mc) you'll see my function at the bottem in the "function pieceStop"of the pasted code.
Code: var list:Array = ["piece1", "piece2", "piece3", "piece4", "piece5", "piece6", "piece7"]; var startingX:Number = list_mc._x; var bottom:Number = 950;[code].....
ok so i have this array from which i wanna fetch names of the XML files i want to load in their XML object, so i write like this but it doesn't work.[code]
I have some movieclips on stage each with an instance name like this: 101, 102,103,104.. etc.When I click one of them, it's istance name is added in an array:[code]I've got a button on stage too and I want when this button is clicked to change the Y of all the selected movieclips:[code]
I'm trying to reduce repetition in my code by using a for loop with an attachMovie call. [code]So I have a bunch of clips in array that I want to attach, and I just want to use the name of the clip as the instance name, but it doesnt seem to work.
I have a bunch of buttons on stage, and i want to place all of those buttons names in an array so i can assign an event listener to them easier. What i have is:
Code: var btnArray = new Array["btn1","btn2","btn3","etc...."]; for(var c=0; c<btnArray.length; c++) { btnArray[c].addEventListener(MouseEvent.MOUSE_OVER, doSomething); }
This should be simple but I can't come up with or find the answer anywhere. All I want to do is create a series of Arrays with instance names generated on the fly. I then want to reference these later. I have a "for" loop with a variable "count" that I want to add to a base name of rowArray and use the result to create an Array. I would think that it would look something like this:
I have just started actionscript after a long break, I am creating a crossword and each box is an 'Input Text' field. Since there are a lot of text fields, I do not want to have to create variables for each text box,I wanted to do something like this:
ActionScript Code: var inputs:Array = new Array( "_1a", "_1b", "_1c" .. ); for( var i:int = 0; i < inputs.length; i++ ) {
How do you pass instance names into arrays? I've got a bunch of movieClips of states.
They all have instance names.. alabama, arkansas, delaware, florida, georiga, etc..
I am trying to send them all to an array because I need to be able to disable the movieClips all at once and I don't want to call each one separately. I setup an array and a "for" loop, and it properly gets each value in the array:
ActionScript Code: states = new Array(alabama, arkansas, delware, florida, georgia); stateslength = states.length;