The constructor for TextField for some reason takes no parameters, even though you pretty much have to set some properties for an instance you create in code. I added parameters for the defaultTextFormat, x and y which I was always setting, as well as an optional Boolean to make it right aligned. For those text items that were fairly dynamic and so could change alignment I also added functions to set the alignment and position at the same time.
I enable high quality settings but at the same time enable cacheAsBitmap, which works well as text in the game is rarely updated. In fact cacheAsBitmap is so useful for text it's worth creating a class that overrides TextField just to set it all the time.
function BTDText(fmt:TextFormat, fX:Number = 0, fY:Number = 0, bRight:Boolean = false):void { defaultTextFormat = fmt; x = fX; y = fY; // turn on high quality settings antiAliasType = AntiAliasType.ADVANCED; embedFonts = true; gridFitType = flash.text.GridFitType.SUBPIXEL; // width etc. width = 1; multiline = false; selectable = false; cacheAsBitmap = true; if (bRight) { autoSize = TextFieldAutoSize.RIGHT; } else { autoSize = TextFieldAutoSize.LEFT; } } function Left(fX:Number = 0):void { if (fX > 0) { x = fX; } autoSize = TextFieldAutoSize.LEFT; } function Centre(fX:Number = 0):void { if (fX > 0) { x = fX; } autoSize = TextFieldAutoSize.CENTER; } function Right(fX:Number = 0):void { if (fX > 0) { x = fX; } autoSize = TextFieldAutoSize.RIGHT; }
No comments:
Post a Comment