Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.05.2009, 09:28
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 1  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
По умолчанию Конструкторы и содержимое флешки.

Здравствуйте уважаемые. У меня такой вопрос. Подгружаю в основную флэшку несколько внешних swf. Среди этих swf имеется несколько содержащих одинаковые классы. Когда они загружаются все нормально. Но если программно создавать объект с таким классом через конструктор графическое содержимое используется только одного (то ли первого, то ли последнего не разобрался). Каким образом можно сделать копию объекта чтобы сохранялось содержимое swf. Сейчас делаю разные классы чтобы содержимое было разное при создании конструктором. Но в будущем возможно придется делать копию с любого объекта по загруженному извне swf.
Через ссылку на конструктор не получается, поможет ли копия через ByteArray?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 16.05.2009, 12:34
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 2  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Как вариант, разнести классы с одинаковыми именами по разным пакетам
__________________
тонкий тролль, осеянный благодатью

Старый 16.05.2009, 20:47
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 3  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
да но суть в том, что я не знаю что же я подгружаю. И когда грузится очередная swf хочется чтобы в ней все элементы отображались как положено, но при этом все свойства, объекты и содерижмое программно было доступнов загрузившей флэшке. По сути я хочу получить те же "контролы", но только чтобы у них были разные скины. А когда я гружу два контрола в разных swf содержащие в себе один скин-класс получается что по скольку они связаны с одним классом скина то при создании нового объекта "класс-скин" содержимое графики скина в обеих swf будет одинаковое, одно затрет другое.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ


Последний раз редактировалось SunShadow; 16.05.2009 в 20:49.
Старый 16.05.2009, 21:38
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
не уверен, что все понял кто кого затирает, но думаю загрузка в разные ApplicationDomain решит вопрос


Последний раз редактировалось silin; 16.05.2009 в 21:45.
Старый 16.05.2009, 22:18
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 5  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
хм...
Одним словом надо еще покопаться в доменах. На сколько я помню когда грузилось из разных доменов у меня была проблема с безопасностью при кросс-скриптинге.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 16.05.2009, 22:51
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 6  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
я имел ввиду загрузку внешних swf в свои ApplicationDomain
Код AS3:
loader1 = new Loader();
cnxt1 = new LoaderContext(false, new ApplicationDomain());
loader1.load(new URLRequest("skin1.swf"), cnxt1);
опыта работы с этим нет, но понимаю так, что ApplicationDomain для этого и нужны
сейчас попробовал просто загрузить пару флешек с совпадающими именами классов - никаких конфликтов ни между ними, ни с одноименным классом в основной флешке нет
хотя при подгрузке в ApplicationDomain основной флешки - примерно такой бардак, как ты и описал

Старый 17.05.2009, 19:26
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 7  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
На сколько я понимаю если я гружу в разны домены, то он каждый класс воспринимает как другой, и если у меня в скрипте основной флэшки используется конструкция obj as SkinClass при получении ссылки на объект, то как таковое оно всегда будет возвращать null, поскольку SkinClass основной флэшки отличается от SkinClass другого домена, хотя это один и тот же класс.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 17.05.2009, 19:41
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 8  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>SkinClass основной флэшки отличается от SkinClass другого домена, хотя это один и тот же класс.

это разные классы, хоть и одноименные в твоем случае, см. applicationDomain.getDefinition
мудрено тебя понять, сори
если у тебя изначально нет подгружаемого класса/интерфейса, то какой тебе прок от obj as SkinClass,
а если есть, то какой смысл держать их в одном и том же пакете и с тем же именем..


Последний раз редактировалось silin; 17.05.2009 в 19:45.
Старый 17.05.2009, 21:59
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 9  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
На сколько я понимаю мы получаем разную реализацию классов, и размещение их в разных доменах позволит избежать конфликтов в приложении. Но если класс используется в родительском классе и этот же класс оказывается в подгружаемой флэшке и оба они связаны со своим содержимым swf файла то как быть здесь?
Вот с чем я столкнулся. Есть у меня класс TextFieldControl, ознавная задача которого по полученным данным из XML сделать некоторые настройки над текстовым полем. Я сделал две swf? В одной есть мувик с TextFieldControlи в другом есть мувик с TextFieldControl, но при этом каждый из них содержит свой стандартный TextField со своими настройками (сам шрифт, размер шрифта, цвет фона, и т.п.) собственно над которым и выполняются действия.
А также главная флэшка грузит класс с виртуальной клавиатурой, которая отлавливает событие клавиатуры и манипулирует над текущим TextFieldControl. Получается что сам класс TextFieldControl должен быть общим для всего домена. Если я их гружу в разные домены то будут сложности с получением ссылки на объект.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

Старый 17.05.2009, 22:20
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
сори, не могу понять в чем проблема
что мешает дать TextFieldControl'у методы кастомизации подопечного текстфилда и использовать один класс, а не 'разные'
что мешает наследоваться от общего родителя
что мешает использовать интерфейс, через который виртуальная клавиатура будет с ними общаться

Создать новую тему Ответ Часовой пояс GMT +4, время: 22:17.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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