PDA

Просмотр полной версии : ММ компонент + _lockroot


ChickenKid
06.02.2006, 16:24
На самом деле, это несовсем вопрос, а, скорее, совет. Для тех, кто использует вгружаемые мувики с компонентами (UI component).
Я столкнулся с такой проблемой: нужна была форма с компонентами, но так как классы нескольких компонентов весят достаточно много и включаются в первом фрейме (пробовал ставить 2-й — не работало), делать локальный загрузчик невозможно (бессмысленно), поэтому этот файл с формой приходиться загружать из другого мувика («главного»).
Если его загружать с помощью loadMovieNum("form.swf",_level1), то конфликтов с адресацией не возникнет и компоненты работать будут. А если, например, хочется использовать более удобный MovieClipLoader (mcLoader.loadClip("form.swf", toform_mc);), то чтобы компоненты работали и не глючили (у меня, например, с компонентов и их элементов не сходил фокус — зеленая рамка), необходимо залочить _root для вгружаемого файла (либо в 1-м фрейме самого файла прописать this._lockroot = true, либо в главном файле toform_mc._lockroot = true) и добавить в библиотеку главного мува (в который вгружаем) какой-нибудь несложный компонент (Label, например). Итак, делаем в главном человеческую загрузку формы, элементы которой должны работать без сбоев.

Antares
06.02.2006, 19:27
Происходит это лишь потому, что в ММ-компонентах порой применяется абсолютная адресация для неких специализированных мувиков, типа __onEnterFrameBeacon

ChickenKid
06.02.2006, 19:33
Аха, а в результате абсолютно непредсказуемое поведение. Покак делал форму, с компонентами не одно, так другое. Но в общем получается удобней и быстрее, по-моему (к тому же в моем случае дизайн этих компонентов был уместен :) ).