ActionScript 3.0 :: Add A New Property To TextField?
May 18, 2010I need to add a new String property with accompanying getter/setter methods to a TextField. If I were able to use prototyping in AS3 I would do something like[code]...
View 1 RepliesI need to add a new String property with accompanying getter/setter methods to a TextField. If I were able to use prototyping in AS3 I would do something like[code]...
View 1 RepliesAdding properties to MovieClip is super easy.
I use myMc.index a lot of times. It is very handy for connecting MovieClips to other MovieClip via a dictionary.
Now I wanted to add an EventListener to a TextField. No problem. But how do I connect that TextField to another MovieClip?
myTextField.index doesn't seem to work.
Is there anyway of adding a custom property to a dynamic TextField. [code]...
But, how would I do something similar with a TextField (puting a TextField inside a Sprite or MovieClip is not an option).
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();
[code]....
I am populating a textfield programmatically and scrolling to the maxScrollH as the new text is added so the user can see the progression of text. This works fine, until I click the TextField, which sets scrollH back to 0 and places the caret in the text at the equivalent position.
textField.setSelection( text.length, text.length );
//sets the caretIndex/selection to the end
textField.scrollH = textField.maxScrollH;
//scrolls to max
This is the code that I am using to scroll when the textField text property is updated. I've tried adding a listener to the click event on the textField, which works in a way, but causes a visible jump.
override protected function createChildren() : void {
super.createChildren();
textField.addEventListener(MouseEvent.CLICK, handleTextFieldClick, false, 0, true);
} protected function handleTextFieldClick(event:MouseEvent):void {
textField.scrollH = currentTextFieldScrollPosition; //stored scrollH value
trace(textField.scrollH);
}
My guess is that there is a scroll position being calculated or stored someplace that I can't find.
I've seen a few posts about this, but nothing that explains this issue concretely. Can anyone tell me how to change the alpha of a textfield in Actionscript 3?, and more importantly a textfield that uses embedded text fonts? I've heard changing blendmode.
I know how to do this in Flash IDE, but not purely in code.
i am trying to change the font property of a textfield in actionscript.
i tried this but i am not seeing the effect of it. Actually nothing happens.
_root.attachMovie("nav1","nav"+coun, coun);
_root["nav"+coun].textItem = "me";
myTextFormat = new TextFormat();
[Code]....
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.
Why I am getting the following error: Error #1069: Property ID not found on flash.text.TextField and there is no default value.[code]
View 4 Repliesi'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..
I have some HTML loaded from an XML document that includes web links (anchor tags). I am using a TextField object to display the text, and am plugging the XML data into the htmlText property of the TextField, and the text is rendering with HTML markup, links are working etc.
The problem I'm seeing is that a new line is created before and after the link, so html like this:
hello world <a href ="#">this is a link</a> and all of this should be on the same line.
is rendered like this (with specific attention paid to the new lines): Does anyone know of a way to prevent these new lines from appearing when using HTML links within a TextField?
I have some issue with the [embed] tag. Even if I set the embedFonts property of the textfield to true the text doesn't show up.The thing is that it worked previously and after some changes (not related to fonts) it doesn't. I'd like to understand how the embed process for font works to find the error in my code.
I declare :
[Embed(source = 'asset/font.ttf', fontName="font", mimeType="application/x-font-truetype")] private static var font:String;
to assign the font to the program.Then i call "font" when declaring my textFormat. Is the "fontName" property the link with the textformat ?I work with flashdevelop and the flex_sdk_4.0.0.14159 (the big adobe one, with air (~140mo))
In my library I have a movieclip that is linked to my AS3 custom class TweenButton. On the movieclip there is a textfield. I would like to be able to set the .text property of the textfield through TweenButton's constructor, which must be so simple, but I haven't been able to make it work. Here's the code and source files:
[Code]...
So, I've been working on this for a few days and what drives me nuts is this is a simple file with a lot of simple script and I still can't figure out what this error is and how to fix it: Property 0 not found on flash.text.TextField and there is no default value The script below what we're looking at, everything is drawn with AS3, there are no library objects (save for the font). I sort of understand what the error is saying, but I don't fully understand it or how to fix it.
[Code]....
Edit: I've searched through similar problems, but couldn't find a proper solution.
First let me warn you that I'm "old school" i.e. code is on my timeline and the only classes used were those automatically created when I added several new fonts to Script1.swf which is my movieclip for embedded fonts.
On the first frame of my main movieclip which is named Round.fla, I have loaded Script1.swf that contains the fonts using the loader object. I'm using a trace statement that shows that Script1_lb.swf is loaded.
I am using a listbox (script1_lb) with movieclip icons (jpg picture of the sample font) and the data is the name of the font class, like this: script1_lb.dataProvider.addItem( {icon:akaDora_mc, data:"akaDora"} );
[Code]...
When I used TextField to display a link, it doesn't work as I expected.here is the code I used:
Code: Select allpackage {
import flash.display.*;
public class TestCustomClass extends Sprite {[code]....
But there's nothing displayed. I don't know why.I looked up the handbook of AS, it said there's no "html" property of TextField, so I commented out.
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).
View 2 RepliesLately i discovered MATE (for Flex development) and was wondering: how do i bind a property in a view (actually a navigatorcontent component) to another property in a class so that they stay in synchronization (meaning that whenever the property in the class changes the property in the view also changes).
So if we have a view called Target.mxml and a property targertProp how do we bind it to the class called SourceClass with property SourceProp?
What's the difference between selectedChild property and selectedIndex property? I read the documentation, both seems to be setting currect active accordion. selectedChild can be only used in actionscript, but other than this, what's the difference?
View 0 RepliesCan we put [Bindable] on functions/methods? I know that bindable is used to change the value of the source property to destination property. But not sure if we can use that for methods. why we cannot put/ if we can then what will be the outcome?
View 1 RepliesI have a class Inhabitant with a property skin which is of type DisplayObject.
Within Inhabitant I need to access the x and y properties of skin using this method:
this["someProperty"];
Rather than:
this.someProperty;
This is fine with properties defined within Inhabitant but I'm not sure how I could do this for a property of skin. This obviously doesn't work but it might give you an idea of what I'm trying to do:
this["skin.x"];
The reason behind requiring this notation is that I have a function which I can parse a String though that will represent a property:
public function addTokenable(property:String):void
{
if(!isTokenable(property))
_tokenables[property] = true;
}
And then a related getter that will return a representation of this instance of Inhabitant as a String:
public function get token():String
{
_token = "class:" + getQualifiedClassName(this).split("::").join(".");
[Code]....
I parse an xml file that his content is:
Code:
<?xml version="1.0" encoding="utf-8"?>
<operators>
<operator><name>OPerator1 </name></operator>
[Code].....
I display the name of operator in a TextField after parsing the xml file my problem is to loop through this different TextField with a fade effect.
how can i make a movieclip and a textfield to resize to the content of the text in the textfield? I mean, if I have a textfield with 3 letters font name XXX and then the content of the field change, how can i resize te textfield so the text dont autoadjust to the 3 letter space?
View 3 RepliesDoes anyone know, why a textfield may become white when loading text + JPGs into it? Sometimes it happens to me, sometimes not. I haven't figured out why. If you have any clues... The AS I'm using:
[Code]...
I am looking to change the background color of a input textField when the user selects that testfield to start populating it. I have done a bunch of searching and I keep coming up with this type of answer...
Code:
myTextField.onSetFocus = Set(evt:Event){
// Change color
}
Problems...
1) Is onSetFocus/onKillFocus still available? From what I can tell it is not.
2) I have my text objects encapsulasted in a class so I do not believe I am able to do it like I have been suggested.
I'm using the following to remove a textFeild from the stage I then need to add this textField back to the stage at a later time....i tried using addChild the problem is the text that was in the text field prior to the removal is still in the textfield when i re add it......How do i remove the textfield and replace it with a fresh textfield at a later time?....using msgTa.text =""; is not an option.
View 4 RepliesI just recently started playing with cs5 and it's new features. I tried to rotate a textfield with the 3D rotation tool, but when you do this, the textfields gets blurry.And it seems like it's not a vector text anymore, because when you zoom in, it still is blurry.Is there a way to prevent that?
View 5 Repliesi would just like to ask why is the case that when i use embedfonts = true on a textfield, the textfield's text only resizes according to the textfield's height but not the textfield's width. meaning if i make the textfield's height bigger, the text also gets bigger in terms of height, but not width, can't the embedded font maintain aspect ratio according to the textfield height?
I'm only wondering about this because this is not the case when embedfonts= false
in as3 how do i get the text of a textfield to know when to line break according to the width of the textfield.
View 4 RepliesI have MovieClip with TextField in, how can I dispatch when change text in TextField or remove TextField or add something else.
View 3 Replies