Перенёс заполнение имен в другой метод и вызвал его через интервал в 2 секунды.
Получил:

Код:
package {
import flash.events.Event;
import flash.events.MouseEvent;
import flash.display.SimpleButton;
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.text.TextField;
import flash.utils.*;
import Model;
import Controller;
import MainMenu;
public class MenuItem extends Sprite {
//-------------------------
public var myNum:uint;
public var myParent:MainMenu;
public var myCat:Array;
//-------------------------
public function MenuItem(parent:MainMenu,num:uint) {
myParent = parent;
myNum = num;
x = (myNum-1)*(width+5);// этот же номер успешно меняет координаты
var intervalId:uint = setTimeout(init, 2000);
}
public function init() {
txt.text = myParent.myCat[myNum].name;
}
}
}
Через 2 с получаю ошибку выполнения

Код:
TypeError: Error #1010: A term is undefined and has no properties.
at MenuItem/init()[E:\projects\as3\Classes\MenuItem.as:26]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at ()
at flash.utils::SetIntervalTimer/flash.utils:SetIntervalTimer::onTimer()
at flash.utils::Timer/flash.utils:Timer::_timerDispatch()
at flash.utils::Timer/flash.utils:Timer::tick()
Жму "продолжить"
и все менюшки заполняются нужными именами из массива