Мне очень режут глаза блоки
if (i == n)
И что, никак не обойтись без ручной установки координат? всё равно криво получается.
убрал условия, да и в принципе, код еще почистить не мешало бы.

Код AS3:
import flash.geom.Point;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
var textArray:Array = [];
var textPositions:Array = /* of Point */ [
new Point(-211, 70),
new Point(174, 70),
new Point(-205, 230),
new Point(174, 230)
];
var quantity:int = 4; // xml.news.item.length()
var text:String = "Some text "; // XML(xml.news).item[i].zag
var page_mc:Sprite = new Sprite();
addChild(page_mc);
var myFormat:TextFormat = new TextFormat();
myFormat.color = 0x000000;
myFormat.font = "Myriad Pro";
myFormat.size = 14;
myFormat.bold = true;
for (var i:int=0; i<quantity; i++) {
var myTextField:TextField = new TextField();
myTextField.htmlText = text + i;
myTextField.width = 250; // height == ?
myTextField.height = 100;
myTextField.selectable = false;
myTextField.border = false;
myTextField.autoSize = TextFieldAutoSize.LEFT;
myTextField.x = (myTextField.width + stage.stageWidth) /2 - myTextField.width + textPositions[i].x;
myTextField.y = (myTextField.height + stage.stageHeight) /2 - myTextField.height + textPositions[i].y;
myTextField.setTextFormat(myFormat);
page_mc.addChild(myTextField);
textArray.push(myTextField);
}