ActionScript 3.0 :: Possible To Call Dynamic MovieClip Names?
Oct 17, 2011
I'm looking to get some information on something I've been wondering about for a while now. Is it possible to call a dynamic movieclip? Here's an example: I have 30 movieclips all named sequentially: A001, A002, A003, etc. I want to make a listener to dynamically know if I've clicked any one of the 30, but also know which of the 30 I've clicked.
You know, to avoid writing 30 variations of a listener. (not to mention that I have 5 categories to do this for, meaning there are 150 in total) Perhaps what I would need out of it would be the number value, as well. To perhaps place that in a variable after it has been recognized, so I can use it in the function.
I have an Arrays that contains the names of MovieClips:
Code: var MyMCs:Array = ["A","B","C","D","E"];
The actual MovieClips names are "MC_A", "MC_B", etc..., I use this method so I reuse the same Array for multiple tasks, I simply add what ever it's needed to the name to match the task at hand. On this case I add "MC_".
Then I have multiple Arrays, with the same names of the values of MyMCs. The values of each these Arrays are the names of buttons that are inside the movieclips of MyMCs:
Code: var A:Array = ["RR","TT"]; var B:Array = ["YY","UU"]; etc...
My problem is that i want it to be done dynamically, using the Arrays values in a loop to add Listeners to the all buttons. The loop system is not a problem for me... my real problem is in the dynamic attribution itself. Here is what I have:
Code: //'i' and 'j' have previously been created for(i=0; i<MyMCs.length; i++){ for(j=0; j<this[MyMCs[i]].length; j++){
[Code]....
I know that this is correct since I tried them separately and I can trace the proper values.
I know that my problem is in the "this" since I get an error message stating: 1084: Syntax error: expecting identifier before this.
I suppose it should state something else... I tryed with "root", "parent", "child", "MovieClip"... with no luck...
I have an array that houses the names of six movieclips. I randomly select three of them. I am trying to get my randomly chosen movieClips to do what I want them to do. I have tried the following code to get the first to fade in:
[Code]...
But it does not work. The trace comes back with the full movie clip name ex: mcTom, but even though that value comes up in the trace, the AS doesn't see it as a movie clip. Any thoughts on how I can correct this?
I have an array of data that I'm using to create thumbnails and labels I'm using "Loader" to load the thumbnails (sample code below) but what I'm wondering is how I can make the name of the loader dynamic so that each child gets named "image1, image2, ...". I tried adding "[i]" after the "image" for each item in the code but it complained about missing semicolon before left bracket.
var image:Loader = new Loader();var target_image:URLRequest = new URLRequest("images/" + xmlData.Product[i].id + ".png");image.name = "image_"+[i]; image.load(target_image);
Then you could use this array to reference clips dynamicly or on stage to do stuff.I was trying to do the same with AS3 but came across a problem I've not found an answer to yet. I created the following code:
Code: Select allvar letterArray:Array=new Array("A","B"); var buttonArray:Array = new Array(); //
I get: Type Coercion failed: cannot convert []@369e8581 to flash.display.MovieClip.but if I remove that line, it works. My problem is that I need to make it a "var" of type movieclip before I can assign a listener to it. Why can't I build an array of movieclip names using:
i made a custom class where i would like to create x instances of a movieclip. But the following doesn't work:
[Code]...
I keep getting the error: Scene 1, Layer 'Layer 1', Frame 1, Line 5 1119: Access of possibly undefined property Collector through a reference with static type CustomClass.
How would you add a listener to an object inside of a movieclip that is in the library and as not been placed on the stage yet? Or, could you tell it to listen for when it does go on stage if it does come on the stage and when it comes on the stage to add an eventlistener to a movieclip inside of that?
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
I have two swf's. One main movie and one sound movie. The sound movie exports the sounds, providing linkage which I want to use in an actionscript in the main movie. How do I call upon the sounds from the second movie? The reason why I have two files is that Flash doesn't allow me to choose in which frame the sounds will be exported, it's the first frame or who-knows-when. Would it be a good solution to load the sound swf into the main movie, placing it during the preload of this, and export the sounds with linkage names from this and (later) call upon them from the main movie? Is it possible at all? If it is, how do I do it?
I am trying to create a pretty simple image script for a flash website. What it does is to create a container named mc and then loads in an image into the mc from XML. It goes through the XML file like in a for each loop. But the problem I have is that every image container then gets the name mc. So then now when I try to build the function which makes it possible to press on one of the image containers to enlarge them, it only makes the last image larger since that is the last one to be created with the name mc. So how do I give every movieclip that I create a different name such as mc1, mc2 etc.[code]
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 am trying to simplify things by using dynamic MovieClip names. I have three MovieClips on the stage.
1) mcPage1 2) mcPage2a 3) mcPage2b
But my code isn't working. I'm guessing the "this" part is what is messing it up. Thinking that the computer doesn't know which MC is "this". It traces fine outside the function, but inside the function it traces undefined.[code]
Is it possible to have dynamic sprite names? For example if I am constructing a tile map from an array how can i give each sprite object a different name and referense it later?
All the nav links are correct but i am having problems with the background color and placing the submenu nav links.For the background color i am have created a function drawBG. At the moment i have set the name static, but i realise that sometimes i have 3 submenu.So i can't use the same name over and over again. How do i create the names dynamicly for say 3 submenu'sso i have something, likemainMenuBG - submainMenuBG - subsubmainMenuBG - subsubsubmainMenuBG
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:
How do you make a new instance of a class with a dynamic name.
var dynamicname = new dynamicname()
i try something
var this["test"]:Class = new ["Test"]()
but offcourse its not this...
I need this couse i have a librairy with SWC fonts they are only reference.. I get the font name from a CSS file and after i need to make a instance of the SWC file so the font is embedded.
This is an example of the kind of issue I'm trying to solve. Say I'm looking to set 10 text fields (text_field_1 to text_field_10) within my movie clip 'myMovieClip' to the value of i. Now if the for loop and the text fields are in the place (_root) all I would have to do is:
Having a problem with a Flash/ASP/Database project.I've seen tutorials that pulls address book listings dynamically from the DB. When you hit "next" button it just populates dynamic text fields with variable names like "name" "address" with the appropriate info. Problem I'm having is.. what if you want to display all the entries on the same screen.If the variable names on the dynamic text fields are hard coded named "name" "address" "phone number" etc. , how can the second set of info display underneath the first one properly and not just pull the same text from the first record into the text fields? (name2, address2, etc.)
Is there a way to dynamically change the variable name of a dynamic text field? I'm thinking you should be able to have it note how many records there are, then loop until it reaches the end of the record set. So, can the variable names be dynamic so it will populate the text fields with the appropriate info?
I have 50 movie clips in the Library that use Linkage to set the Class name to: Img1, Img2, Img3, ..., Img50. I have a parent class named RandImg. I want the constructor for RandImg to randomly select one of the 50 movie clips from the Library and display it. I could get this working by generating a random number, and then writing a really huge switch statement to associate each possible random number with its respective Library Movie Clip Class name, but I would much rather do this with a dynamic/variable class name based on the random number, such as:
I am making an XML multiple-gallery flash site for a client. The chunk of code I am having trouble with is populating the thumbmails section of the site with all the pictures in all the galleries. The image paths are brought in and stored in an array - one array for each gallery's image paths. The problem is that when I try to cycle through all the images to put them into movie clips (using a fore statement) I am having trouble dynamically addressing the arrays. More specifically, flash interprets them as strings, and does not evaluate the variables in them.
Code: function images(i){ var temp:Number = eval("g"+i+"im.length"); for (var r:Number=1; r<=temp; r++){
[Code]....
The argument images() takes is the gallery number (from another function). I have tried using eval() and trace to see what the problem is. Basically I can make it output the correct STRINGS, but flash will not convert the variables in the strings! So in the URL (first arg) of loadMovie it is seeing something like "g2im[3]" as a string, and not evaluating it to the value at index 4 of that array.
I need to create dynamic arrays with field names loaded from a database. So, the names for the fields will be always different.Then, suppose I have the names "product" and "color" to create the following array structure dynamically:var myarray:Array = new Array;myarray[0] = ({product:undefined,color:undefined});But in other ocasion, the names may be say "brand" and "model", so the array will be:myarray[0] = ({brand:undefined,model:undefined});
I've got an array (slides) that I parsed from an amfphp return that contains the following data in each array element: slides = (chapterName, lessonName, slideName, slideText), for every slide in the course
I'm trying to get arrays out this that will look like: chp1Array = list of Lesson names in that Chapter chp1Less1Array = list of slide names in that Lesson chp1Less2Array chp2Array chp2Less1Array chp2Less2Array chp2Less3Array etc. etc.
This wouldn't be a problem in as2 but I can't get it to work in AS3 because it gives me errors when I try to create the arrays with dynamic names from within the function? How to get the dynamic number into the array name...
am trying to load xml and make button for its length, and try to make function for each button i have i make buttons and i give them a unique name , but i can't make function for every one?here is the code
///////////////////////////// var xmlLoader:URLLoader = new URLLoader();var my_Arr:Array= new Array();var arr_posX:Array =new Array();//= ["350","350","350","350"]var arr_posY:Array=new Array();//= ["80","120","160","200"]xmlLoader.addEventListener(Event.COMPLETE, showXML);xmlLoader.load(new URLRequest("Models.xml"));function showXML(e:Event):void { XML.ignoreWhitespace = true; var songs:XML = new XML(e.target.data);
When I use a Mouse Event listener with the trace function trace (e.target.name), why don't I get the instance name I assigned in the property panel? Instead I get something like "instance 12". How can I target Mouse Events using the names I assgn?