Не во время выполнения, нет. Вы можете манипулировать объектами библиотеки с помощью JSFL в IDE: http://livedocs.adobe.com/flash/9.0/main/flash_cs3_extending.pdf. Не уверен, поможет ли это вообще, но, возможно, вы можете сгенерировать код для использования в приложении, проанализировав библиотеку каким-либо образом.
var lib = fl.getDocumentDOM().library;
for (var i = 0; i < lib.items.length; i++)
{
var item = lib[0];
fl.trace(item.name + " " + item.getItemType());
}
Возможно, сгенерировать некоторый код на основе библиотечных объектов 'getItemProperty()
или getItemType()
.
Кроме этого, я думаю, что вам лучше всего поступить так, как сказали другие. Создайте фиктивный мувиклип, в котором каждый элемент находится внутри, и спрячьте его за сценой. Добавьте слушатель для «добавлен на сцену» на нем и выполните цикл по его дочерним элементам и используйте «отражение» getQualifiedClassName для выполнения действий, основанных на его классе, или просто используйте имя экземпляра и оператор switch.
И наконец, что именно вы «обрабатываете» для каждого из этих мувиклипов? Возможно, это скорее проблема дизайна, и все они должны расширить общий подкласс MovieClip, к которому добавлен обработчик «добавлен на сцену», где вы смотрите на тип MovieClip, который добавляется в ваше приложение, и выполняете некоторые действия в этом одиночная функция. Сейчас я работаю над работой по локализации, и именно так мы обрабатываем несколько разных клипов во время выполнения.