PDA

Просмотр полной версии : класс не подключается, если фла использует импортируемые клипы...


Pecher
27.10.2007, 16:10
Здравствуйте!

Такая проблема-вопрос.

У меня есть библиотека компонентов (свф с экспортируемыми клипами-компонентами). Есть фла-файл, использующий эти компоненты. Этот фла-файл использует и свои классы.

Так вот, при использовании импортированных из свф-библиотеки компонентов, собственные классы перестают работать. Причём это всё происходит только во встроенном в среду Flash плеере. В автономном плеере, в ActiveX-компоненте (некоторой оболочке) - работает без проблем.

Как понимаете, Очень желательно, чтобы и в среде это тоже работало... но как???

etc
27.10.2007, 16:40
Исходник в студию.

Pecher
27.10.2007, 17:22
Прилагаю набор файлов, которые характеризуют ситуацию:
lib - библиотека,
exampl - "пользователь" библиотеки.

перепутал...
в этом примере класс подключается... :wacko:
а у меня свф библиотеки лежит на уровень выше свфки, использующей библиотеку

Подразобрался с моментом происхождения...

в общем, если есть импортируемый клип в библиотеке, он лежит на рабочем столе и линкуется к какому-нить классу А, то конструктор B не вызывается... стоит удалить с рабочего стола импортированный клип, класс B начинает цепляться.

Опять выкладываю: удаляем из exampl с рабочего стола кружочек - и всё работает...

Какие идеи?

silin
27.10.2007, 23:09
объяснить это мудрено, но:
удаляем обоих, потом снова кладем, но первым кружочек (тот, что из шареной библиотеки) - и опять же все работает..

Pecher
28.10.2007, 02:49
Хорошо, что хоть что-то работает... значит, есть надежда.
Просто в реальном деле не один кружочек и квадратик...

Вроде бы нашел ключик к решению (спасибо Силину за помощь в поиске).

Для соединения каждого клипа с классом нужно, чтобы на слое/глубине ниже распологался импортированный клип :) Во вложении как раз любопытный пример.

Опять же, не берусь объяснить, в чём причина... Устройство флэш до конца не изучено (не бейте меня фанаты флэша, я сам тоже фанат).

НО! Вопрос остаётся открытым: почему такое происходит и как еще можно более цивильным образом с таким бороться?