ActionScript 2.0 :: Setting Variable Property For Dynamically Created Textfield?
Dec 22, 2004
i'm creating a completely dynamic form. i want to assign a variable name to a textfield and then pass that variable with a LoadVars() object.
here's a small piece of code i can't get working:
//create movieclip (used like a form)
_root.createEmptyMovieClip( 'dialog_body', 0 );
//create textfield input
[Code].....
bottomline: if i create a textfield using the traditional method and assign the 'var' it works fine. if i create a textfield dynamically at run time, and use the *.variable property, the variable is NOT sent..
Long time listener, first time caller here. I'm having trouble with how Flash sets the _x property of a dynamically created movieclip. If I create a rectangle on the stage using the Drawing API:
Code: //for the purposes of this example, assign a value to i var i:Number = 0; //assign var squareName var squareName:String = "square" + i; //create an empty movieclip named [squareName] at depth 1 this.createEmptyMovieClip([squareName], 1); [Code] .....
I'm not new to Flash by any stretch of the imagination, but I have never come up against this problem before. For context, I'm actually getting my feet wet with the Tween class, and am having trouble animating dynamically created movieclips due to this confusion with coordinates. When I tween a dynamically created clip from one set of coordinates to another, they are offset by the movieclip's _x and _y properties starting at 0, 0, rather than their actual position on stage.
I was trying to create these 17 textfields in a for loop. I ended up instanciating them manually and now I am trying to set some of their properties in a for loop. The problem is that when I trace them I just see [object textfield] but not the names. If I try to trace the ".name" I get instance 1, instance 2, etc. The real problem is when I try to set the "y" property I get an error "1010 A term is undefined and has no properties"
Code: var tf1:TextField = new TextField(); var tf2:TextField = new TextField(); var tf3:TextField = new TextField();
I created a movie clip symbol with a user interface in it, using the standard components. It contains various components that I draged on the stage. I named the instances (e.g titleLabel). Then I created an ActionScript class for that user interface. Under the linkage properties of the symbol I specified that class. In the class itself, i declared the attribute "var titleLabel:Label". I thought this would be the same instance from the symbol? But: Trying to set the text of the Label AFTER the movie was dynamically added to the parent does not work. I cannot access any properties.
Here is the example:
My Class for the user interface:
Code: import mx.controls.*; class Information extends MovieClip { var titleLabel:Label; //this is the same instance name as in the symbol
Short version:Setting a TextField's 'text' property seems to be quite slow. Any way to optimize this?Long version:For a video player I'm working on, I've rewriting a bunch of code I've written in the past and optimizing where I can, and I've noticed something a bit strange.I have a time readout (the typical "00:00 / 01:00" thing) that I'm updating every frame, and it seems to be gobbling up FPS (I'm using mrdoob's great little Stats class for monitoring).The thread to make the call is a bit heavy -- involving a dispatched custom event from the FLVPlayer class (with the current netStream.time as a property) onEnterFrame, which is passed up 2 parents and then back down via a function call -- but I've isolated each step along the way and everything is totally fine (running at or close to 30fps) right up until that very last call where I set the TextField.text property, which results in about a 10fps drop.
If I comment out the setting of TextField.text it runs great, but even if I set it to something arbitrary (like currentTime.text = "0") -- bypassing the reformatting math -- it just tanks.Anyway, anyone know if there's something I can do about this? I've considered using a Timer set to 100m instead of onEnterFrame, but I actually assumed the overhead would come from the dispatching of and listening to the event as well as the reformatting of the time, but *not* the very last step of setting the .text property, which is something I can't avoid whether I use a Timer or onEnterFrame.
I'm using Flash Remoting to grab a result set from a SQL Server database. Then, using the total records in the result set, I'm creating the respective number of movie clips on the stage. Each of these movie clips is an instance of the "button_mc" movie clip I have in the library, named "button_0", "button_1", ..."button_n". The library movie clip that I'm using to create the instances contains a standard Flash button.
Anyway, that part is working fine. What I want to do is dynamically generate the onRelease event handler for each of these unique buttons. When I try to do this within the for loop, it sets all the event handlers to the last item in the list. What I want to do with the event handler is change the text of a dynamic text field based on the button name.
e.g. buttonName.onRelease = function() { myDynamicTextField.text = "button_"+i; }
In some ways it makes sense that the event handler is always going to be the last available in the loop, as the handler is called after the loop is completed. However, I'm hoping there's a way to make the handler "stick" after the loop is completed.
The following for loop dynamically creates 4 instances of the same button. Each button is then populated with its own textfield.I have given the textfield(s) an instance name of option0, option1,etc, etc. I want to populate the text in each field with something different (Home, Contact, etc, etc). I am trying to call the textField by its created instance name "option0", but I get an error saying it's not recognized.
i can create a textfield, show my percentage loaded in it, but when it hits 100%, i want to get rid of the textfield... doing all my stuff in actionscript so moving to the next frame not a possibility. unless i create the textfield in another movie..
I want to rotate a dynamically created textfield, i opened "flash help" and took the sample code i found below (i changed the font with "Verdana"). But it seems that the font cant be embed and it dissapears.
Code: var my_fmt:TextFormat = new TextFormat(); my_fmt.font = "Verdana"; this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
i can create a textfield, show my percentage loaded in it, no problem.but when it hits 100%, i want to get rid of the textfield....doing all my stuff in actionscript so moving to the next frame not a possibility...
I'm using createTextField to create a textfield. I have also created a input textfield with a variable called textline1 (I don't create the inputfield with as).I want to display the letters in the created textfiled that I'm typing in the input field. So this in my AS coed:
_root.createTextField("text1",1,100,100,300,100); text1.variable = textline1; format1 = new TextFormat();
Im dynamically creating an instance of a movieclip, call it a game piece. This game piece has 4 frames, each with a movieclip called base(although one is red, one blue, one green, one yellow). When the game piece is created I set the frame to indicate player color. Im also changing the alpha of base to 1.0 when its being dragged, 0.5 when its dropped.
Using the following code, everything works fine if the game piece color is set to the base in frame 1 (red). If the game piece is created and the timeline moved to a frame other than 1, I throw an error when trying to access base.alpha (this would be the second, third, and fourth instances of base in the game piece timeline). Heres the strange part, this is only a problem when the game piece is first created and added to the display list. Once created, even after the error has been thrown, I can access the alpha of bases 2, 3, and 4 in the drag start/stop listeners. Heres a link to the work in progress, and the relevant sections of code (shortened for brevity, t1 is the top left piece on the pallet, others just repeat the same code):[URL]
We have a for loop creating text fields from arrays.
We have four arrays.
First three arrays create dynamic textfields getting their data values from a xml file.
The last array creates empty input textfields where the user enters the data.
What I'm trying to do is to send the values of these textfields to a PHP file.
The problem here is that I'm not being able to get the updated data of dynamically created input fields,which is the data that the user(visitor) enters.
I want to change the value of a variable which is inside another flash movie .I have loaded the swf file.Inside the 'onLoadInit' function i wrote the code like below.
Is there any way to dynamically name a varaiable or created movie clip? I know that I could make an array of movie clips, but what I really want to do is make a new movie clipe name based on another name. The reason I want to do so is that I want to pass a movie clip to a function and have it make a new movie clip (to contain the first) with a slight variation of the test such as "frame" or "handle" which I can then use to center the source movie clip.
What I'm trying to do is setup a function that shoots through a set of buttons within a subset and creates click code for these buttons.
THe three variables are the identifiers for the actual keyframe i wish to jump to, the movieclip in which i want to perform the action and the actual button to go to the right frame.
Presently the problem I'm having is that the variables aren't stored when the onRelease functions are created, so they all are just calling the LAST variables declared.
Here's a sample of the code I currently have
Code: //function to load canvas/acrylic function setSwatches(mySwatchCount:Number, myContainer:String) {
I am trying to load an image in to a dynamically created movieclip, which is:
_root.mySlider."+stripX2(band[i][0])+i
but I can't seem to reference it. I can load the movie into _root.mySlider, but if I add the dynamic element (stripX2(band[i][0])+i) without quotes it it doesn't load. If I load with quotes i.e.
"_root.mySlider."+stripX2(band[i][0])+i
flash doesn't allow strings in movieClip variables.The code I'm using is belowm, it's the second to last line thats causing the problem:
var loadListener:Object = new Object(); loadListener.onLoadComplete = function(target_mc:MovieClip):Void { trace(">> target_mc._width: "+target_mc._width);[code]......
I'm dynamically creating movieclips with dynamically created movieclips inside them and am having trouble with targeting them.Below is a simplified example of what I'm trying to achieve, in the real file there are a lot more movieclips and I'm creating and naming them with a for loop.
This one is just one Sprite created inside another sprite. I can target the top level sprite named "testname". However when i try target the nested MC it throws an error.The bottom couple of traces are just test MCs I've made to make sure i got the syntax right, on targeting nested movieclips.
PHP Code:
var holder:Sprite = new test1();holder.name = "testname";this.addChild(holder);var holder2:Sprite = new test2();holder2.name = "testname2";holder.addChild(holder2);trace(getChildByName("testname").x); //this one traces finetrace(getChildByName("testname").getChildByName("testname2").x);//this throws up an errortrace(testclip1.x);trace(testclip1.testclip2.x);
Setting the text property of a flex DateField makes the selectedDate property of that DateField go to null.I need to set the text property so that I can use a particular format (DD-MMM-YYYY).