![]() |
Конфликт _lockroot-а с экземпляром пользовательского класса
Привет!
Прошу помощи в разрешении следующей проблемы: Имею main.swf, которая загружается в оболочку написанную на Делфи. Клип main.swf на _root имеет контейнер page_mc (мувиклип) и набор управляющих символов (кнопок) Имеется класс ConnectorClass.as. В первом кадре main.swf инициализируется объект Код:
connector = new ConnectorClass();При загрузке в page_mc внешнего swf-клипа который не имеет в коде обращений к _root , все прекрасно работает. В противном случае подгруженный клип мертв в части работы его кода. Если же при загрузке клипа дать команду Код:
this.page_mc._lockroot = trueТак вообще не работает Код:
_global.connector = new ConnectorClass();Код:
_global.connector = null;Вопрос: как сделать connector (его методы) видимым даже при применении lockroot? Устранять обращения к _root в готовых клипах нет возможности, так как их порядка 1000 шт. Спасибо. |
Я предлагаю создать тестовый класс A, поставить его за место ConnectorClass и посмотреть на его поведение в дебаггере.
Я не знаю, что там за код, но в моей практике был случай связанный с использованием _lockroot, который меня озадачил часа на 3. У меня была управляющая флешка, в которой работал конвейером, он запускал методы экземпляров различных классов через apply. Флешка могла загружать и выгражать 5 модулей. Но один из модулей был написал с использованием _root и пришлось воспользоваться _lockroot. Вот тут и возникла проблема, при включенном _lockroot, apply забивал на то, что unloadMovie вызывается как метод мувиклипа, и использовал глобальную функцию и в результате выгружая абсолютно все. |
Спасибо, iNils, за совет.
Выкрутился я очень просто:
Но, один маленький "червячек" грызет разум: - как присвоить таки "_global" объекту класса? Что-то не получилось протестировать его на "глобальность". |
Тут в ветке AS3 идет бурная баталия на тему синглтона.
У себя в проектах, я не парюсь на эту тему, так как знаю, что это, это и вот это, у меня всегда в единственном экземпляре. Поэтому у данных классов, есть статичное свойство, которое возращает мне этот самый единственный экземпляр. Если я правильно понял, то у тебя тот самый случай, поэтому вместо того, чтобы лезть на прямую в глобал, не попробывать ли обратится за ссылкой на экземпляр к классу? Кстати, а нельзя урезать проект до версии, чтобы осталась одна работающая ошибка:D? Интересно поискать причину. |
| Часовой пояс GMT +4, время: 17:09. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.