|
|
|||||
getDefinitionByName from swc
Есть произвольное и заранее неизвестное число классов, зашитое в swc либу. Все эти классы в обязательном порядке поименованы итеративно (Class_1, Class_2, ...); Для каждого из этих классов мне необходимо создать инстанс и запрятать в массив, к которому позднее будет идти обращение. Раньше (когда fla файл являлся main-классом), я делал что-то вроде этого.
function fillClassesFromLib():Vector.<Sprite> { var toReturn:Vector.<Sprite> = new Vector.<Sprite>(); for (var i:int = 1; i > -1; i++) { try { var className:Class = getDefinitionByName("IterativeClass_" + i) as Class; var sprite:Sprite = new className(); toReturn.push(sprite); } catch (e:Error) { return toReturn; } } return new Vector.<Sprite>; } Если же прописать блок try следующим образом: <...> try { var c:Sprite = new IterativeClass_1(); c = new IterativeClass_2(); c = new IterativeClass_3(); var className:Class = getDefinitionByName("IterativeClass_" + i) as Class; <...> Есть какой-нибудь добрый и изящный выход?
__________________
Дебаггер не предлагать Последний раз редактировалось BuKT; 07.07.2011 в 09:31. |
|
|||||
Регистрация: Mar 2009
Сообщений: 207
|
Чтобы классом пользоваться надо его вкомпилировать.
Хотите гибкости - грузите заранее подготовленные swf Loader'ом. |
|
|||||
Цитата:
[Embed(source = "/../assets/Graphics.swf#SomeClassGraphics")] public class SomeClass extends MovieClipAsset { <...> Цитата:
__________________
Дебаггер не предлагать |
Часовой пояс GMT +4, время: 16:46. |
|
« Предыдущая тема | Следующая тема » |
|
|