ActionScript 3.0 :: Creating Unique TextFields In A For Loop?
Oct 28, 2008
I have a for loop that runs depending on the length of an XML file. What I want to do is create a unique text field for each run through of the loop, and give it it's own position on the stage, and finally assign it the text from an external text file that is specified in the XML file. Everything I know how to do except creating the textfields.
Quote:
for(var i:int = 0; i < blogXMLList.length(); i++)
{
var txtHolder:TextField = new TextField();
txtHolder.x = textX;
[Code].....
This code creates only one Text Field, but then replaces it's text with new text with each run through.
I'm currently creating an app which allows users to select blocks of text from a List and dynamically create a TextField on the stage.I'm calculating the height of the TextField and positioning the next TextField beneath.I'm also recording the total heights of the TextFields so that I know when the total height exceeds the available height, at which point I move the x position and reset to y position to zero.
When the next TextField will exceed the available height I want to split it into two, so I'm calculating the remaining height, making the TextField.height into the remaining height.when I try to get the position of the last visible line.If I have the TextFieldAutoSize as LEFT, then I can dynamically generate the heights of the TextFields.For the final TextField in the column I need to set TextFieldAutoSize to NONE so I can change the height of the TextField. i.e. I don't want it to autosize.However, bottomScrollV returns the total number of lines, not the last visible line.
I can create the required behaviour in a separate doc but when I copy the code into the loop it fails.Here is the code.
Code: public function buildTextFields() { 3 columns (I'm calling them TextBlocks) // so the first is 0;[code]....
I've just created a draft animation demonstration of a unique analogue clock [URL]. What I would like to achieve is to also have a digital clock just below it. So when you roll over the analogue clock, the animation starts for both clocks. When you roll off the animation stops leaving the time displayed exactly the same on both clocks. So basically both the clocks run simultaneously (speeded up). How I might achieve this?
How do I create a new arraycollection that can generate a unique variable name? Like: AC+nu as in AC1:ArrayCollection AC+nu as in AC2:ArrayCollection AC+nu as in AC3:ArrayCollection AC+nu as in AC4:ArrayCollection nu++;
I want to create object instances based on user input but I can't figure out how to get a unique variable name for each instance (I want to be able to get at and manipulate them later). In other languages I would usually just use an eval() function to pull this off.
[Code]....
Code: 1119: Access of possibly undefined property charlie through a reference with static type poundConuter. poundConuter.mxml
I'm currently making a TicTacToe game to help build my Flash experience and I've come across an issue. I'll try and explain what everything is doing in my code thus far. I know it's a lot of code for a forum post, but I don't want to leave anything out as someone may have a really nice way to work with this.
Code: this will be switched to a user defined value (1 or 2), depending on which person the user decides should go first. currently it is set up for the 2nd player to go first
new _global.whosTurn(); _global.whosTurn = 2;
//this sets all cells DISABLED so, at the beginning of the game, any cell is selectable cell1_isUsed = false; cell2_isUsed = false;[code].....
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);
im 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 ?
///////////////////////////// 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);
I have an for each loop that creates a new textField for each item and I need to know how you can give each textField a unique name so it can be targeted later on.Here is the relevent code:
Code: var i:int = 1; for each (var titleElement:XML in titleList) {
At the moment I have this in Actionscript (for Flex) to create 26 labels in a BorderContainer (ID letters):
[Code]...
But when I click on a letter, only the letter Z is sent to the function getUsers. So when I'm creating labels from a for loop, only the eventlistener works for the last created label. How do I fix this?
Im trying to create several TextFields using function recursion.
arr_HelpRubrik = new Array(); arr_HelpRubrik = [1, 2, 3, 4]; var x_pos = 10;
[Code]....
What it does is look for the existence of a textfile (HELP_i.txt) and if it exists, create a TextField into which it is supposed to output the contents of that file. So Im supposed to have as many textfrelds as there are textfiles in the end, all situated in a kolumn.
Well, what actually happens is that every textfield is correctly created, but will close as soon as the next one is created. So I end up with only one textfield.
Im creating many textfields dynamically and I dont want to have to repeat the same code over and over for each field. Currently I have something like below which deosnt work.
If i have ten textfields named field_1 to field_10 and i want to fill them with a for loop, how do i refer to each instance name? Obviously the problem lays in "field_i.text" in the following code:
Code: for (var i=0; i<10 i++) { field_i.text= i; }
I just dont know how to refer to the instance name correctly using the i.
I'm trying to access some textfields that I have loaded in a movieclip in another loop. The code below doesen't work but I'm using it to illustrate what I'm after.
I want to populate the stage with a list of dynamic text fields with individual names, something like pg4_txt1, pg4_txt2, pg4_txt3. I'm a novice at flash, I tried creating variables with a while loop, but I just haven't got the grasp of it.
Here's some kind of weird pseudo code to explain what I want to do:
var leading:Number = 15; var i:Number = 0; while (i<14) {
i'm a newbie to AS3 and i'm trying to update a website from AS2 to AS3. i can't get a for loop to work properly for me. i create the button movieclips initially, name them properly, and drop their titles into a textfield within the button movieclips.i am able to change the textformat on rollover/out and on click to a third state. i want the on click to change all the other button's text box format's back to the base state.so, when i write a second for loop to run through the other buttons, i keep getting an error.
when i test trying to change the text like this: parent.getChildByName("mbtn" + i + "_mc").getChildByName("title_txt").setTextFormat(T extFormats.mmbase_fmt); i get this error: 1061: Call to a possibly undefined method getChildByName through a
I'm trying to animate a body of text. I'm trying to have each letter of the paragraphs increase alpha to simulate the typing effect. Also, to have a easing effect towards the end of the text. I got the advice to create a textfield for each letter, so I can animate them independently. With the codes below, I managed the add the text to my project. But unfortunately, the letterspacing is out of place, the text doesn't have multiline, and the tween doesn't appear.
I am trying to use a for loop to clear a bunch to textfields. The textfields were not created dynamically and they are inside of a movieclip named mcContentOnStage. I need help assigning the number to the textfield name.
I have a flash project that requires a swf file with over 300 textfields i.e a datasheet like in excel.i use actionscript 3 to dynamically add them at runtime.However I have a function calculate() that references them at compile time.So i think the problem is the caluclate() cannot find the textfields because they are still not added to the stage.How can i create them dynamically and after that add a function caluclate that will surely find the textfields?
Here is a code example of my work:
//add 50 textInput components for (var intr:Number=1; intr<=50; intr++) { var intTextField:TextInput=new TextInput();
I'm currently creating an app which allows users to select blocks of text from a List and dynamically create a TextField on the stage.I'm calculating the height of the TextField and positioning the next TextField beneath.I'm also recording the total heights of the TextFields so that I know when the total height exceeds the available height, at which point I move the x position and reset to y position to zero.When the next TextField will exceed the available height I want to split it into two, so I'm calculating the remaining height, making the TextField.height into the remaining height.
My problem arrives when I try to get the position of the last visible line.If I have the TextFieldAutoSize as LEFT, then I can dynamically generate the heights of the TextFields.For the final TextField in the column I need to set TextFieldAutoSize to NONE so I can change the height of the TextField. i.e. I don't want it to autosize.However, bottomScrollV returns the total number of lines, not the last visible line.I'm at a loss. I can create the required behaviour in a separate doc but when I copy the code into the loop it fails.Here is the code.
Code: public function buildTextFields() { // 3 columns (I'm calling them TextBlocks)
How can I create a for loop so I can use different values of the same node? So I want to count the "<Text>" nodes of the XML and use their different values on different dynamic textfields. Note that I have mutliple Movieclips on the stage with the same amount of textfields and I would like to include them in the loop, so I named them mc1 mc2 etc.
I am trying to create functions using a for loop for my buttons' over and out listeners.I would like to stick to a naming convention but it does not seem to work. I am trying to create 10 buttons with function names like btnOver1, btnOver2, etc...
Code: for(var i:int=0;i<=9;i++){ function btnOver[i](e:MouseEvent):void{
I'm trying to create a for loop to set the color objects outlineColor1...100 to the value defined in variable _root.outlineCol. Everything works fine when I set the color to these objects via 100 lines of code but I'd like to replace them with a for loop of course. I suspect the syntax in the first part of the second line is incorrect but I'm not sure.
for (var i:Number = 1; i <= 100; i++) { outlineColor[i].setRGB(_root.outlineCol); trace(i); }
Everything works fine except MouseEvent.CLICK addEventListener.menuInfo variable contains part of defined instace name.cURL contains full URL to link.If I trace menuInfo variable, it outputs correctly in order as I exptected.But last event overwrites everything to last element of xList (contains XML list).How do I make this work correctly
Code: function createMenuEventListener(xList:XMLList):void {