![]() |
Управление загруженным клипом
Здравствуйте!
Возникла задача управления загруженным, с помощью функции loadMovie(),внешним swf клипом. А именно установка свойств прозрачности и цвета для отдельных элементов библиотеки внешнего ролика. Или ,может быть ,пересылкой параметров из исходного ролика во внешний ,вследствии обработки которых в загруженном клипе можно было устанавливать значения цвета и прозрачности для заданных элементов. |
Для ваших целей надо использовать не функцию loadMovie(), а класс MovieClipLoader, иначе вы не сможете корректно произвести необходимые действия над загруженным: нужно отследить момент гарантированной загрузки с помощью метода этого класса onLoadInit (Фактор асинхронности работы AS очень сильно выражен, когда ролик размещен на сайте).
Открывайте хелп и смотрите пример. И второе - в библиотеке загруженного ролика вы поменять ничего не сможете, ровно как и в любой библиотеке ролика после компиляции. Произвести необходимые изменения возможно только с уже добавленными (вручную либо программно) на сцену символами. |
Предположим я загружаю ролик таким образом:
Код AS1/AS2:
Можно ли как нибудь изменить цвет этого символа,а не всего ролика в целом? Вот это не работает: Код AS1/AS2:
|
Цитата:
Код AS1/AS2:
|
Спасибо.
|
Ситуация такая. клип A находится на сервере.В него грузится клип B. Запускаю из среды разработки. Клип B подгружается в A и нормально меняются цвета у символов (как задано в функции).Но если я клип A загружаю на сервер - клип B грузится в A но никаких изменений над символами загруженного клипа не происходит.
Проверял- все процедуры и функции вызываются,но события: Код AS1/AS2:
|
У вас обе swf-ки лежат на одном сервере, одна грузит другую и функция, принадлежащая первой, не меняет цвет символа в загруженной, правильно я понял? С А и В не очень понятно объяснили.
|
Да.Оба swf файла лежат на одном сервере.И один клип загружается в другой при помощи MovieClipLoader.
фрагмент ClipA.swf: Код AS1/AS2:
Клип B -находится на сервере. Клип A -основной код,в него загружается клип A. Клип A -находится на сервере,и на локальной машине(т.е. тестирую сначала в среде разработке, потом на сервере). Клип A сначала запускаю прям из среды разработки Ctrl+Alt+Enter.Все работает нормально:Клип B загружается в Клип A и символ КлипB.simbol1 меняет свой цвет на зеленый. Далее публикую клип A и загружаю на сервер swf файл. Запускаю клип A(контейнер для загрузки клипа B) на сервере: Результат: клип B подгружается,НО simbol1 не закрашивается заданным "0x00FF00" цветом. |
Замените абсолютный путь на относительный, а то может вы первую флешку открывается с сайта "mysite.ru", а вторую с "www.mysite.ru".
|
Да, сравните адреса - тот, с которого загружается основной ролик, и путь в load для загружаемого. Сделайте так, чтобы адреса совпадали. Относительность пути тут как бы не при чем, просто флешка склонна считать домен с алиасом с "www" другим сервером.
Помнится, с использованием битмапы, загруженной с другого сервера, обнаружились сходные проблемы. А в среде разработки много чего работает, что отказывается работать при выкладывании на хост. Это связано с секьюрными моментами флеша. UPD: 1. Попробуйте поставить именно относительный путь в load, например относительно корня сайта: Код AS1/AS2:
Лучше использовать именно этот вариант, потому что нет гарантии, что у юзера в адресной строке будет именно тот адрес домена, который стоит в load. 2. И наконец, в клипе B можно прописать строку Код AS1/AS2:
|
| Часовой пояс GMT +4, время: 11:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.