I’ve got some simple code that I’m struggling with. Can someone point out what I’ve done incorrectly? I can’t position the text in the center of gradient_mc, and the trace reports that the gradient_mc is NOT 200 wide, like it should be.
What am I missing?
All that’s required is a linked font symbol in the library.
Thanks everyone
QUICK EDIT:
if I change the numbers in the creation of the textField and comment out the line for autosize, the height and width seem to be correct.
What if I can’t know the width of the text? Shouldn’t autosize do the trick?
gradient_mc.createTextField("myText", gradient_mc.getNextHighestDepth(), 0, 0, 200, 32);
var SW:Number = Stage.width;
var SH:Number = Stage.height;
var _gradientWidth:Number = 200;
var _gradientHeight:Number = 32;
//_textsize set to the approximate width of a letter
var _textsize:Number = 18;
this.createEmptyMovieClip("gradient_mc", this.getNextHighestDepth());
gradient_mc.createTextField("myText", gradient_mc.getNextHighestDepth(), 0, 0, 0, 0);
var myTextFormat:TextFormat = new TextFormat();
//TextField myText;
//TextFormat myTextFormat;
myTextFormat.font = "Artist_Choice";
myTextFormat.size = _textsize;
myTextFormat.color = 0xFFFFFF;
myTextFormat.align = "left";
gradient_mc.myText.autoSize = "left";
gradient_mc.myText.multiline = true;
gradient_mc.myText.border = "true";
gradient_mc.myText.embedFonts = true;
gradient_mc.myText.antiAliasType = "advanced";
gradient_mc.myText.gridFitType = "subpixel";
gradient_mc.myText.sharpness = 75;
gradient_mc.myText.thickness = -15;
gradient_mc.myText.text = "hey there";
gradient_mc.myText.setTextFormat(myTextFormat);
//
gradient_mc.myText._x = gradient_mc._width / 2;
gradient_mc.myText._y = gradient_mc._height / 2;
trace("gradient_mc.myText._x " + gradient_mc.myText._x);
trace("gradient_mc.myText._y " + gradient_mc.myText._y);
trace("gradient_mc._width " + gradient_mc._width);
trace("gradient_mc._height " + gradient_mc._height);
trace("gradient_mc.myText._width " + gradient_mc.myText._width);
trace("gradient_mc.myText._height " + gradient_mc.myText._height);
/*
gradient_mc.myText._x = (gradient_mc._width/2) - (gradient_mc.myText._width/2);
gradient_mc.myText._y = (gradient_mc._height/2) - (gradient_mc.myText._height/2);
*/
var fillType:String = "radial";
var colors:Array = [0x651178, 0x8888FF];
var alphas:Array = [100, 100];
var ratios:Array = [0, 0xFF];
var matrix:Object = {a:_gradientWidth, b:0, c:0, d:0, e:_gradientHeight, f:0, g:_gradientHeight, h:_gradientHeight, i:1};
var spreadMethod:String = "reflect";
var interpolationMethod:String = "linearRGB";
var focalPointRatio:Number = .95;
with (gradient_mc) {
beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
moveTo(0, 0);
lineTo(_gradientWidth, 0);
lineTo(_gradientWidth, _gradientHeight);
lineTo(0, _gradientHeight);
lineTo(0, 0);
endFill();
}