|
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Конструкторы и содержимое флешки.
Здравствуйте уважаемые. У меня такой вопрос. Подгружаю в основную флэшку несколько внешних swf. Среди этих swf имеется несколько содержащих одинаковые классы. Когда они загружаются все нормально. Но если программно создавать объект с таким классом через конструктор графическое содержимое используется только одного (то ли первого, то ли последнего не разобрался). Каким образом можно сделать копию объекта чтобы сохранялось содержимое swf. Сейчас делаю разные классы чтобы содержимое было разное при создании конструктором. Но в будущем возможно придется делать копию с любого объекта по загруженному извне swf.
Через ссылку на конструктор не получается, поможет ли копия через ByteArray?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
да но суть в том, что я не знаю что же я подгружаю. И когда грузится очередная swf хочется чтобы в ней все элементы отображались как положено, но при этом все свойства, объекты и содерижмое программно было доступнов загрузившей флэшке. По сути я хочу получить те же "контролы", но только чтобы у них были разные скины. А когда я гружу два контрола в разных swf содержащие в себе один скин-класс получается что по скольку они связаны с одним классом скина то при создании нового объекта "класс-скин" содержимое графики скина в обеих swf будет одинаковое, одно затрет другое.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ Последний раз редактировалось SunShadow; 16.05.2009 в 20:49. |
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
хм...
Одним словом надо еще покопаться в доменах. На сколько я помню когда грузилось из разных доменов у меня была проблема с безопасностью при кросс-скриптинге.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
я имел ввиду загрузку внешних swf в свои ApplicationDomain
loader1 = new Loader(); cnxt1 = new LoaderContext(false, new ApplicationDomain()); loader1.load(new URLRequest("skin1.swf"), cnxt1); сейчас попробовал просто загрузить пару флешек с совпадающими именами классов - никаких конфликтов ни между ними, ни с одноименным классом в основной флешке нет хотя при подгрузке в ApplicationDomain основной флешки - примерно такой бардак, как ты и описал |
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
На сколько я понимаю если я гружу в разны домены, то он каждый класс воспринимает как другой, и если у меня в скрипте основной флэшки используется конструкция obj as SkinClass при получении ссылки на объект, то как таковое оно всегда будет возвращать null, поскольку SkinClass основной флэшки отличается от SkinClass другого домена, хотя это один и тот же класс.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
>>SkinClass основной флэшки отличается от SkinClass другого домена, хотя это один и тот же класс.
это разные классы, хоть и одноименные в твоем случае, см. applicationDomain.getDefinition мудрено тебя понять, сори если у тебя изначально нет подгружаемого класса/интерфейса, то какой тебе прок от obj as SkinClass, а если есть, то какой смысл держать их в одном и том же пакете и с тем же именем.. Последний раз редактировалось silin; 17.05.2009 в 19:45. |
|
|||||
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
На сколько я понимаю мы получаем разную реализацию классов, и размещение их в разных доменах позволит избежать конфликтов в приложении. Но если класс используется в родительском классе и этот же класс оказывается в подгружаемой флэшке и оба они связаны со своим содержимым swf файла то как быть здесь?
Вот с чем я столкнулся. Есть у меня класс TextFieldControl, ознавная задача которого по полученным данным из XML сделать некоторые настройки над текстовым полем. Я сделал две swf? В одной есть мувик с TextFieldControlи в другом есть мувик с TextFieldControl, но при этом каждый из них содержит свой стандартный TextField со своими настройками (сам шрифт, размер шрифта, цвет фона, и т.п.) собственно над которым и выполняются действия. А также главная флэшка грузит класс с виртуальной клавиатурой, которая отлавливает событие клавиатуры и манипулирует над текущим TextFieldControl. Получается что сам класс TextFieldControl должен быть общим для всего домена. Если я их гружу в разные домены то будут сложности с получением ссылки на объект.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
сори, не могу понять в чем проблема
что мешает дать TextFieldControl'у методы кастомизации подопечного текстфилда и использовать один класс, а не 'разные' что мешает наследоваться от общего родителя что мешает использовать интерфейс, через который виртуальная клавиатура будет с ними общаться |
Часовой пояс GMT +4, время: 22:17. |
|
« Предыдущая тема | Следующая тема » |
|
|