Xpoint
   [напомнить пароль]

Взаимодействие клипа контейнера и загруженного клипа

Метки: [без меток]
2006-08-11 14:08:12 [обр] Евгений Морозов[досье]

Здравствуйте!

Вопрос в следующем:

Дано:

  1. Главный клип, контейнер.
  2. Несколько отдельных клипов.

Надо:
В контейнер подгружать остальные клипы. НО! необходимо обеспечить взаимодействие контейнера и того, что в него подгружено, т.е. чтобы контейнер мог вызывать методы клипов и наоборот.

Варианты решения:

  1. очевидное решение:

this.createEmptyMovieClip("testing", this.getNextHighestDepth());
loadMovie("Testing.swf", testing);

"+"
  - логично и красиво, можно создавать сложные клипы отдельно.
"-"
  - при этом нечто testing.probe(); не работает!!!

  1. менее красиво

  добавить все клипы в библиотеку контейнера и грузить их уже оттуда.

"+"
  - взаимодействие между клипами работает без проблем.
"-"
  - логично, но некрасиво и неудобно... нет изоляции клипов... неудобное для расширения решение.

Пож., ответьте, кто решал эту проблему... Я не так долго с флешем работаю, так что могу какие-то детали опускать. ОЧЕНЬ желательно максимальный приоритет поставить первому варианту решения, т.к. он самый удобный.

спустя 36 минут [обр] Алексей В. Иванов(276/2861)[досье]
- при этом нечто testing.probe(); не работает!!!
Быть такого не может.
А Вы дожидаетесь загрузки клипа?
спустя 33 минуты [обр] Евгений Морозов[досье]
Алексей В. Иванов[досье]
Вероятно не дожидаюсь... Но в справке к флеш я не нашел упоминания о том, что ф-ия loadMovie() асинхронна. Т.е. я полагал, что она синхронна, и поэтому после вызова loadMovie я гарантированно (если не было ошибки) имею загруженный клип, а во время загрузки процесс приостанавливается.
Т.е. Вы утверждаете, что при загруженном клипе, любые методы внутри него будут без проблем вызываться? Что ж, попробуем. Видимо тогда придется MovieClipLoader использовать, чтобы ловить сообщение о загрузке... Спасибо, попробую.
спустя 11 минут [обр] Алексей В. Иванов(276/2861)[досье]
сообщение промодерировано

Во флэше не может быть синхронных загрузок, т.к. останавливалось бы выполнение AS и анимация, была бы невозможна обработка событий. Тот же прелоадер было бы невозможно реализовать.

Т.е. Вы утверждаете, что при загруженном клипе, любые методы внутри него будут без проблем вызываться?

Да. Разве что проблемы с безопасностью могут быть при загрузки клипов с разных доменов.

спустя 10 минут [обр] Евгений Морозов[досье]
Алексей В. Иванов[досье]
Спасибо большое! Да, с MovieClipLoader заработало. После прихода оповещения onLoadInit появился доступ к методам.
Powered by POEM™ Engine Copyright © 2002-2005