Вы устанавливаете ширину явно с wordTf.width=partsWidth;
.это заменит параметр автоматического изменения размера.Я бы использовал следующий код.
var container:Sprite = new Sprite();
var myFormat:TextFormat = new TextFormat();
myFormat.size = 16;
myFormat.align = TextFormatAlign.CENTER;
for each( var thispart:String in parts )
{
var wordTf = new TextField();
wordTf.defaultTextFormat = myFormat;
wordTf.name = thispart;
wordTf.text = thispart;
wordTf.height=partsHeight;
wordTf.background=true;
wordTf.backgroundColor = 0xe3e3e3;
wordTf.border = true;
wordTf.width = wordTf.textWidth + 4;
wordTf.y=150;
wordTf.x = container.width;
container.addChild(wordTf);
}
container.x = (stage.stageWidth - container.width) / 2;
addChild(container);
добавьте ваши слова в отдельный спрайт, а после добавления всех слов добавьте этот спрайт на сцену и отцентрируйте его.
Линия
wordTf.width = wordTf.textWidth + 4;
является важным.После установки текста Flash может рассчитать ширину текста.Теперь установите эту ширину текста (+4 - фиксированный отступ вокруг текста в текстовом поле, которое вы не можете изменить) как ширину вашего текстового поля.