![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Привет. Недавно столкнулся с проблемкой, решил, но непонятки остались. Имеем два swf - test1.swf и test2.swf. В них есть символ с таким кодом:
test1.swf #initclip function Clip():Void{} Clip.prototype = new MovieClip(); Object.registerClass("Clip", Clip); Clip.prototype.test = function():Void{ trace("TEST_1"); } #endinitclip Так вот, если теперь я гружу в main.swf эти флэшки последовательно (по onLoadInit()), то все ок. Если же я пытаюсь грузить их однопоточно - т.е. одновременно и для каждого свой лоадер, то два раза выполняется trace("TEST_1")! Или же если я меняю строку в test2.swf на без изменения линкажа в библиотеке, то также дважды выполняется trace("TEST_1")! Единственное что мне приходит в голову - это то что эти классы записываются куда-то в глобальную область видимости и каким-то образом перекрывают друг друга. Но разве они не должны принадлежать таймлайну каждого из подгружаемых мувиков? Фуф, чувствую что не понятно объяснил, извиняйте. |
|
|||||
|
Мда. Вот и ответ на мой вопрос. Но интересно - ведь у каждой флэшки свой _global, пока она не подгружена, так? А когда подгружаем эти флэшки то что происходит? Все скидывается в один глобал? И почему не создается уникальное имя класса при подгрузке - что-то типа пакета? Как быть, если случайно окажутся одинаковые имена у совершенно разных классов подгружаемых флэшек?
|
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
для этого есть AS3, где такие проблемы легко решаются
![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Цитата:
Цитата:
Цитата:
Цитата:
Последний раз редактировалось iNils; 03.03.2009 в 13:19. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|