Ну, есть у вас мувик с именем класса Panel_mc, в нём расположены битмапы с именами классов Button_bmp, Icon_bmp, CheckBox_bmp, RadioGroup_bmp. Функцией проходимся по всему DisplayList мувика панели.
Допустим, передаём функции Utils.parse(Panel_mc), и возвращаем Sprite.
В функции вытаскиваем имя класса с помощью
getQualifiedClassName, затем убираем _bmp и создаём объект по
getDefinitionByName
Присваиваем координаты, имя, чтобы можно было доставать потом нужное поле/кнопку
и возвращаем готовый starling.display.Sprite с расставленными и названными объектами или ваш его наследник, который будет возвращать вам нужный объект по имени.
Рекурсия не нужна. Если конечно у вас не нужны будут вложенные объекты(например, мувики, в которых - другие объекты)