ActionScript 2.0 :: Flash8 : Dynamic Instance Naming Of MC's?
Jun 5, 2009
I have 4 Mc's on the stage, and they have instance names 'mc1' - 'mc2' etc.The MC's have links in them (they are kind'a navigation items) and i need to change the functions of the 'rollOver, and mouseDown events', but keep the MC's the same.The MC's are referenced by instance name and given functions in the first few frames of he movie. for example
---------------
mc_1_0.onRollOver = function() {
if (_root.mc_1_0._currentFrame == 1) {
[code]...
Now, what i want achieve is to change the instance names of the MC's (mc_1_0 for example) so that when the user interacts with this MC on the stage, they are taken to locations of my choice (and the actions of another MC), by switching the instance names. IE, i want to change the instance name of 'mc_1_0' to 'mc_2_0' at runtime, BUT i want to do it with a variable from a .txt file.i would need to start with a script that looks for the MC with a certain instance name
-- look for instance mc_1_0, and then change the instance name to 'mc_2_0'
The effect would be that the user would instigate the same actions, regardless of which of the two MC's they rolled over.Maybe i could call the instances initially 'MC_1_Temp' and 'MC_2_Temp' etc: and then i would need a script to change them to 'mc_1_0' and 'mc_2_0' at runtime.SO in the text file i would need something like this
When I instantiate a new object I want the object to automatically be named the same as the name used in the instantiation.var fred:Person=new Person();trace(fred.name); // traces "fred"Is there a reference I can use in the Person constructor to do this?
public class Person extends MovieClip { public function Person() { name = ??? // what goes here? }}
I have a problem with a button.It has 4 keyframe and a text field with the same instance name "myText".I use this button in a MC, and its instance name is "myBtn".I'm trying to change myText with actionscript in the MC without any results.Debugging it I find a text field insiede this button named "instance6", so i think there is some problem with instance name.
I trying with: trace(myBtn.myText); and it says "undefined"!
How can i correctly give instance name to this text field?Is there any way to find out the name of the instance of an object (the text field) knowing the instance name of its parent (the button)?
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'm curious if there is dynamic naming for variables, arrays, functions and whatnot in AS3. Below are Perl examples of what I'm asking about. It should be pretty explanatory.
I'm producing an array of thumbnails onto the stage from xml, all works fine, but I need to give them a unique number, starting from 0 etc. I believe I'm doing this right but I'm trying to trace back the ID/number from a mouse event...and keep getting the highest number for all of my instances.[code]
I am just getting started with AS3 and have run into a problem. I had a way of attaching movieClips from the library to the stage in AS2 that used the old attachMovie() function where I would run a for loop and it would duplicate the moviclip to the stage and dynamically create new names for the new instances.I now am using this:
var myCube = new cube(); addChild(myCube); Then, I can access the myCube instance's properties like this:
I'm trying to dynamicly create movieclips that I can drag and drop. Here's what I'm trying to reproduce dynamically: (I placed 2 movieclips on my stage and named them mandible_mc and vertibral_mc)
mandible_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);mandible_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt);vertibral_mc.addEventListener(MouseEvent.MOUSE_DOWN, pickUp);vertibral_mc.addEventListener(MouseEvent.MOUSE_UP, dropIt); function pickUp(event:MouseEvent):void { [Code] .....
Here's what's happening: Unless I have actually placed two movieclips on the stage and named them mandible_mc and vertibral_mc, I get an error. If I DO have those to movieclips on the stage, I get no error and I get my instances of "name_box". But, I can't drag them. I CAN drag and drop instances of mandible_mc and vertibral_mc so I know the addEventListener and buttonMode "thingys" are being created.
I am doing the following Code: Select allvar a:MovieClip = new MovieClip(); addChild(a); Now what I want to do is I want to create six more mc i.e., a2,a3,a4,a5,a6. I want to accomplish this using loop like this: Code: Select allvar i:Number = 0; while(i < 6){ var a:MovieClip = new MovieClip(); addChild(a); }
So with above method how can I give different names link above to var a? Then I am using all of these var as following: Code: Select allvar cube:Cube = new Cube(new MaterialsList({ front:a , left:a2, right:a3, top:a4, bottom:a5, back:a6}),200, 200, 200,10, 10, 10); scene.addChild(cube); How can I use those dynamic name here?
Probably a lack of knowledge on my part (no, definitely...), but how do I go about loading dynamic text fields from an array, using dynamic variable naming?
"nameText0", "nameText1", etc are the instance names of dynamic text fields in the contacts_mc movie clip, which is on the root level of my timeline.I get no return at all when tracing the target dynamic text field as trace(contacts_mc.nameText1.text), for example. Dynamic naming examples I've come across don't seem to work here - perhaps a difference in how dynamic text fields are assigned?
I've got these 150 buttons on my stage which all do the same thing. They test their value against myVariable to see if there's a match. If there is, it's a right answer and the user gets a point. The myVariable may be anything between 1 and 150. I have my button code on a single frame now but I'm looking at duplicating it 150 times (1 for each button instance). This seems a wasteful way of doing things. Is there any way I can extract a variable from the instance name? The buttons named btn1~btn150.
Is there any way to: btn 1~150 onRelease var newVariable = [instance name - "btn"] I guess this requires some way to listen for an instance name.
I've read on the net that actionscripting from the action layer will result in a more readable file once published, as apposed to attaching onClipEvent functions which slow down readability.
For this reason I am trying to add variables to a MovieClip I have on the stage with an Instance Name of Player. However I wish to assign the MovieClip variables from the actions layer using the MovieClips Instance Name.
I'm building a platforming game using AS2. I just got collision detection working between my character and multiple instances of an object. the different collisions (top, left, right, and bottom of platform blocks) are determined by a single symbol with 4 instances named for the different sides. this is good if i only want to have one block. is there a way to reference the symbol name in the actionscript or to have multliple instances of the same name to actually work?
Is it possible to return the index of the first instance of a specified value within an array? Similar to:
Code: var my_string = "string"; var index = my_string.indexOf("g");
/*Outputs:
1 */
Basically, I have two arrays, each with 10 values (in slots 0-9 of the arrays). So I need to see if an array has a specified value in it, but then I have to see if the other array has a certain value in it, in the same spot as the first instance of what I search for in the first array.
Im trying to create same MCs and create a textField inside each MC created, then I am trying to apply onRollOver event into those MCs created and change the textField.textColor.
From my code Im resulting and trace with "undefined" how can I manipulate the dynamic created Textfield inside the dynamic created MC
Here is my code:
for (var i = 101; i < 103; i++) { if ( i != 115 and i != 116 or i != 126 or i != 127 or i != 134) {
I am writing a maze program for school. I am using a 2d array to represent to location of walls for the maze. The background (for figuring out where a player can move) is not the problem.I am using this algorithm for places the images...
for (i = 0; i < 22; i++) {for (j = 0; j < 16; j++) {if (maze[i][j] == 1) {instanceName = "wall" add i add j; //for multiple names for each instance duplicateMovieClip("wall", newname = "instanceName", 1); setProperty("instanceName", _x, (25*i+13));
[code]....
What needs to be done to use many copies of one instance to build the visible part of my maze? I want to be able to have all pieces anmed "wall" instead of "wall1", "wall2", etc...which isn't working anyway.
i've got 48 small movieclips named "1clip", "2clip", etc. all the way up to "48clip." I want to do something with them all and use a loop to affect them all the same way.
[Code]...
but that doesn't seem to work. are variables and instance names interchangeable? my lClip var traces out of course, but the lClip.imagHolder.loadMovie never happens (clip inside the clip).
Ok, Background. I have two objects both of which im spawining in though code. We will call them bullets and wolves. They have their own .AS files which tells them everything they need to know about themselves. I figured i would do most of the hit testing on the bullet.AS file, hit testing against the wolves as there were going to be a set number of wolves but not a set number of bullets.o, I named them by running a loop and putting the linenewWolf.name = i.toString();Yes, new wolf is a declared variable, and i is the name of the variable that makes the loop run. I also have a test in it, and it works fine.
However, The hit testing is where i come into an issue. Remember, its on a seperate .AS file. The wolf maker and namer is on the main flash page.The hit testing function isif(this.hitTestObject(a)){i changed up my variable name to run a second loop. first variable name is "i" and the second variable name is "a"And for some reason i get a type error 1034, which from what i understand is an error that you get when two instance names are the same. Also, If possible, i would like to add letters to the name of the object, but im not sure if flash will let me as i belive the code would look something like this
When my website loads I would like some objects to come up from the bottom of the screen, no matter what size the screen is.Does anyone know how to do this?
this post references the files listed at:i've implemented a dynamic text box that calls a txt file into it. it uses a scroller that i found a tutorial on:i've got everything working splendidly - everything EXCEPT the scrolling bar... as you can see, it scrolls up and down just fine, but doesn't control the text.i've pretty much exhausted my search through the actionscript to locate the problem and i can't find it.
I'm trying to create a simple photos gallery.I load a new picture into the scene using loadMovie function. X and Y coordinates are custom for each photo so it would be centered nicely. The size of the picture is different too. It means, we have 4 variable distances here (question marks in the graph).Now the hard part.I want to divide a loaded picture into two sides and convert them into two different hotspots. I'll be using these hotspots for prev/next buttons.
saw various tutorials where dynamic fields had a motion teen effect. However If I tryto do the same, once I apply the motion tween the dynamic text becomes Graphic. How can I avoid this?
I have a dynamic text box that loads different external html files that scroll with buttons. When I load a new html file, it starts at the same point that the previous file was scrolled to. I need to reload the text box so that the new file starts at the top.
I had a form working fine at [URL] and then I edited something that made it screw up. I have been poring over the code but I can't figure out what I did wrong.look at the Contacts page and tell me if you can discern what would cause the lettering in the dynamic text boxes.