Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   FD + SWC. Как вытащить графику (классы) по имени из XML списка (http://www.flasher.ru/forum/showthread.php?t=147993)

MOHCTEP 19.12.2010 01:14

FD + SWC. Как вытащить графику (классы) по имени из XML списка
 
Здоровья всем!
Проблемой стала необходимость вытащить из библиотеки swc некую графику. Имена классов и необходимые свойства описаны xml списком. В дальнейшем список будет модифицироваться клиентом.
Конструкция такого вида не работает, но нужное имя "a001", расположенное в атрибуте "data[0].@id" - доступно.
Код AS3:

var cl:Class = getDefinitionByName(data[0].@id.toString()) as Class;
addChild(new cl())
//[Fault] exception, information=ReferenceError: Error #1065: Переменная a001 не определена.

Код AS3:

addChild(new a001())

Этот вариант естественно работает.
Есть ли какой нибудь цивилизованный способ добраться таки до нужной графики? Статику применять не хотелось бы.

КорДум 19.12.2010 02:09

В общем, смотрите: ваш класс тупо не вкомпиливается. Оттого его найти не представляется возможным. А нужно всего-то объявить где-то что-то, чтобы вкомпилилось. Предлагаю создать новый класс, назвать его как-то по-особому бессмысленно (назову его MyClass), в нем создать кучу приватных переменных с типизацией всех классов, что у вас есть в swc, а в коде программы просто написать в самом начале
Код AS3:

MyClass;

Вот в таком случае вкомпилится все и все заработает. Дерзайте.
Не совсем по теме, но может помочь: http://www.flasher.ru/forum/blog.php?b=281

Bgg 19.12.2010 02:13

А по моему человеку нужно в настройках проекта в Compile Options указать SWC Include Libraries.

КорДум 19.12.2010 02:15

Опция вкомпиливает все классы?

Добавлено через 10 минут
Угу... Но мой способ тоже имеет право на жизнь (:

mayakwd 19.12.2010 07:13

КорДум, ваш способ правильнее. Далеко не всегда нужны все классы содержащиеся в swc.

MOHCTEP 19.12.2010 14:51

Благодарю всех!))
КорДум - спасибо! Такой вариант я и пользовал ранее. Ну, когда мало барахлишка в swc, это еще терпимо, а сейчас очень много писанины...
Bgg и вам - спасибо! Воспользуюсь вашим советом.


Часовой пояс GMT +4, время: 05:20.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.