![]() |
загрузка swf с помощью URLLoader
Вот, скажем, с помощью URLLoader у меня загружается множество разных материалов. В том чесле несколько swf. И хочу я этот swf на сцене отобразить. Как мне это сделать?
вроде должен быть код, похожий на этот, но не выходит =/ Код AS3:
|
Нужно подписываться на событие до того как оно может возникнуть:
Код AS3:
|
Цитата:
|
2strangedk:
Что-то ты не то говоришь. Событие всегда возникает в следующем кадре, даже если грузить из локальной файловой системы, это 100%. Код всегда отработает, где бы ты не вешал слушатель, до запуска загрузки или после. В том коде, что у меня в примере, если сделать trace (loader.data); в loadCompleteHandler, то увидишь данные. Почему бы не грузить сразу Loader'ом? Ну не знаю. Я хотел сделать что-то типа универсального загрузчика, что-то аналогичное либе BulkLoader, но свое. Грузить все подряд URLLoader'ом, а потом уже преобразовывать показалось годной идеей. 2gloomyBrain: вот такой код, что в примере и есть. А ошибка возникает на l.loadBytes(ba); А addChild мне и не нужен. Потому что из загруженной флешки я планирую взять отдельные именованные мувики и перенести их на сцену. И, да, это работает, если заменить URLLoader обычным Loader'ом. |
Цитата:
|
Цитата:
|
О, код ошибки. Извеняюсь. Просто подумал, что, раз некоторые гуру вроде _etc, умеют выкусывать из загруженной флешки шрифты или программно создавать MovieClip с несколькими кадрами, то моя ошибка для них должна быть очевидна.
А там "дурная" ошибка. Цитата:
А, понял. Нужно было всего лишь Код AS3:
Код AS3:
|
Умение программно создавать MovieClip и получение информации из graphics не предполагают наличие телепатических способностей.
|
А так сработает?
Код AS3:
|
По теме Loader подскажите, пожалуйста. Загрузил SWF с 3 кадрами с помощью Loader и добавил на сцену. Как управлять кадрами(остановка, переход на какой то кадр и тд)?
Пробовал Loader.content.gotoAndStop(0) не получается ... |
Цитата:
Код AS3:
|
Цитата:
|
Покажите ваши fla файлы.
|
Код AS3:
|
Для своих вопросов нужно создавать свою тему, а не лепить все в общую кучу. Здесь обсуждается другое.
|
Тот же Loader обсуждается. Тем и так много.
Как же все таки добраться до этой SWF и управлять ей??? |
iflamberg, судя по ошибке, ты пытаешься загрузить строку. Смысл в том, что вот это
Цитата:
|
Ребят, вы чего. Я уже решил свою проблему, в некотором смысле, благодаря подсказке г-на alatar. О чем и сообщил в добавлении к посту номер 7, чтобы не плодить посты.
2GoodWin74: У меня есть ощущение, что ты пытаешься управлять мувиком, до того, как он загрузился, до события COMPLETE. Нет? |
Цитата:
|
В данном случае, это не имеет принципиального значения. Это событие, в любом случае, произойдет после выхода из метода.
|
Я понимаю что пример может и не совсем правильный. Но в любом случае время не должно влиять.
Код AS3:
|
Щас. Как это не должно влиять! Ведь ты создал новую функцию, которая выполнится по таймеру, т.е., скажем, в следующем кадре. Т.е. в данном случае, очевидно, что ты вешаешь слушатель, когда данные уже могут быть загружены. Кстати, такие функции не рекомендуется создавать, их потом garbage collector плохо кушает. Да и setTimout вроде как "deprecated".
Такие вещи элементарно трейсятся дебаггером в любом случае. Вот покажи мне пример, где ты вешаешь слушатель в одном теле функции с loader.load и он не срабатывает, тогда с меня пиво. |
А при чем здесь кадры? Если картинка будет грузиться больше чем пол секунды - то в моем примере обработчик сработает. А я говорю что это недопустимо, когда время загрузки может решать поведение слушателя.
Я не утверждаю что в вашем примере это не сработает, я говорю что это вообще плохой тон, загружать что либо, а потом подписываться на событие. Вы просто еще не попадали в ситуации когда это важно. Цитата:
|
Цитата:
Цитата:
Ну, в общем, не важно =) Давай закроем офтоп, а то у меня и второго аватара здесь забанят, традиция возникнет, банить меня каждых четыре года =) |
Уууу) в итоге кто в курсе как быть с Loader'ом?
Я уже все перепробовал что находил в интернете: Код AS3:
Тоже посоветовали но опять игнорируется gotoAndStop Код AS3:
|
Я думаю дело в том, что нулевого кадра не существует. Кадры начинаются с 1-го
(а просто stop() не работает тоже?) Добавлено через 5 минут кстати, а зачем вы добавляете сам лоадер? может есть резон добавить его content as MovieClip ? |
я уже все 3 кадра пробовал)
Попробовал Stop() тоже без успешно. Попробовал добавить мувиклип на сцену, но он не добавляется либо просто пустой добавляется так как его не видно. Код AS3:
|
Гудвин, рекомендую создать новую тему, пока уважаемые модераторы не заворчали.
По теме. Слушай, так мувик при добавлении на сцену отображается или не отображается? Если не отображается, то с чего ты решил, что он загружен? Может там IOError возникает или ошибки политики безопасности. В чем ты работаешь? Прямо в Flash IDE? Где лежит загружаемый мувик? Локально? Удаленно? может быть у тебя в загруженный мувик останавливается, а внутри него вложенный мувик продолжает движение? Короче, всю флешку в студию. Или выкоцанный кусок, который не работает. |
Loader грузит в том то и дело. И флешка появляется и воспроизводится а вот управлять я ей все не как не могу :(
Она без конца циклически проигрывается |
Точно в загружаемом ролике нет вложенных клипов, которые естественно не останавливаются на stop()?
В загружаемой флешке кода нет? Короче говоря. Приведенный вами код должен работать. Если не работает, то никакая телепатия не поможет понять что там у вас не так. Присылайте пациента. Только пожалейте нас, уберите все что не относится к проблеме. |
Цитата:
Может там еще какой уровень вложенности? |
Вложений: 2
Да нет флешка обычная. Состоит из 3 кадров на каждом кадре 1 мувиклип.
Сейчас оставлю только то что нужно и прикреплю проект. Прикрепил 1ое - Основная флешка, 2ая подгружаемая |
уже все перепробовал даже в тестовом не хочет останавливаться.
|
У меня все работает.
|
Как так? Даже не меняли нечего?:eek:
У меня Flash Player 10 самый обыкновенный. Как такое может быть??? |
Ничего не менял.
Попробуйте почистить КЭШ, зайти с другого браузера, компьютера. |
Я загружаю её через плеер флеш родной с адоб(Не через браузер). Я даже теперь еще больше запутался в чем вина.:confused:
Поставил сейчас Adobe Flash Player 11 все то же самое :( Добавлено через 28 минут может настройки компиляции другие? Пробовал кстати в опере но там такая же картина ... |
Ахаха, Гудвин. Тебе прийдется разобраться с политиками безопасности adobe.
Итак. Смотрим. У тебя в indexTest.fla, в том виде, что ты прислал, открывается не локальный telo.swf. У тебя открывается файл по адресу http://cs6156.userapi.com/u155797056/9b807237a5b58c.zip, который на самом деле тот же telo.swf, но переименованный. Нестрашно, loader его распознает как мувик и отображает на сцене. Так, теперь. Если я компилирую indexTest.fla в флеше, то мувик открывается, загружается http://cs6156.userapi.com/u155797056/9b807237a5b58c.zip и останавливается в 1ом кадре. Все ок. Но. Если я теперь запущу indexText.swf из файловой системы, то мувик загрузится, но в 1ом кадре не остановится. Это происходит по той причине, что мешает политика безопасности. Мувик-загрузчик находится в одном домене - вашей локальной машине, а загружаемый мувик - в другом домене. Это означает, что мувик можно загрузить, но управлять им нельзя. Так же нельзя будет, например, скопировать мувик в BitmapData. Почему же в flash ide мувик отобразился как надо? Да потому, что в нем дебаг-плеер настроен так, чтобы игнорировать политики безопасности для удобства отладки. Так что если выложить indexTest.swf по тому же адресу http://cs6156.userapi.com/u155797056/, где лежит и загружаемый ролик, то все откроется как надо. Теперь, если у тебя нет возможности разместить и то и то по одному адресу. Тогда нужно по адресу загружаемой флешки размещать crossdomain.xml, разрешающий ее использование и использовать параметр ContextLoader в loader.load. Вот большая статья на тему http://www.senocular.com/flash/tutor...ontentdomains/ А если у тебя обе флешки, наоборот, должны оба открываться локально, скажем на машине клиента, то тогда совсем другая история. Тогда нужно выставлять параметр компилятора local playback security в access only local, искать в file->publish settings->publish swf->advanced. |
Цитата:
|
Так и компилируется. Это не избавляет от проблемы. Из ide загружает удаленный мувик и переходит в кадр. Из системы если запустить - нет.
Вот у меня по http://iflamberg.net/tmp/indexTest.swf лежит мувик, который загружает http://iflamberg.net/tmp/indexTest.swf. Все оки. Если сохранить этот ролик indexTest.swf на машину и открыть, то мувик загрузит, но на кадр переходить откажется. Вот что смущает, так это то, что даже ошибку не выведет. |
| Часовой пояс GMT +4, время: 21:07. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.