![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2009
Сообщений: 101
|
Написал функцию копирования мувика через BitmapData:
import flash.display.BitmapData; function duplicateMC(mc:MovieClip,mc2:String,Level:MovieClip,mcx,mcy) { if (Level==undefined) Level = _root; mcBMP = new BitmapData(mc._width, mc._height, true, 0x0FFFFFF); mcBMP.draw(mc); Level.createEmptyMovieClip(mc2, Level.getNextHighestDepth()); Level[mc2].attachBitmap(mcBMP,Level.getNextHighestDepth()); Level[mc2]._x = mcx; Level[mc2]._y = mcy; } ![]() Так вот. С копированием обычных мутиков все как надо. А вот с копированием мувиков, которые представляют собой загруженные картинки из вне, возникают проблемы. Причем настоящая мистика. Все хорошо работает, когда просматриваю в самом редакторе Flash. Но не работает в браузере. Между делом вот так выглядит загрузка картинки и запихивание в мувик, который в дальнейшем будем копировать. var movieClipLoader:MovieClipLoader = new MovieClipLoader(); var obj:Object = new Object(); obj.onLoadInit = function(target:MovieClip) { _root.nextFrame(); //Загрузка как бы завершенна и можно идти дальше. }; movieClipLoader.addListener(obj); _root.createEmptyMovieClip("lib", _root.getNextHighestDepth()); //создаем мувик-библиотеку, где будут храниться загруженные картинки lib._visible = false; //делаем ее невидимой _root.lib.createEmptyMovieClip("newImage", _root.lib.getNextHighestDepth()); //создаем контейнер для картинки movieClipLoader.loadClip("http://i.imgur.com/VzARL.jpg", _root.lib.newImage); //стартуем загрузку *Не работает во всех браузерах Флешка в браузере добавляется вот так: var params = {wmode:'transparent', scale:'scale', loop:'false', menu:'false',flashvars:""};
swfobject.embedSWF('/flash/wtf.swf','swf', 550, 400, '8.0.0',{},{},params,{});
![]()
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
1. Не работает, будучи залитым на хостинг? 2. Если так, то i.imgur.com - тот же ли это домен, с которого флешка загружается?
__________________
Идите первым! Последний раз редактировалось mooncar; 07.03.2012 в 10:55. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 101
|
1. И на Денвере не работает и будучи залитым на хостинг. В общем везде.
2. imgur.com - просто популярный фотохостинг. Американский вроде. Попробовал разные варианты, похоже какой-то трабл с безопасность Нашел пару вариантов, которые все же работают в браузере: а) локальная ссылка. б) И полная ссылка, но на тот же сайт, где лежит флешка. Картинки передаваемые полной ссылкой со сторонних сайтов почему-то не отображаются.
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча. Последний раз редактировалось LanSelven; 07.03.2012 в 11:20. |
|
|||||
|
Модрон-ветеринар
|
Тогда дело в том, что на сервере, где картинки лежат, т.е. на i.imgur.com нет файла-кросдоменника, который бы разрешал использовать картинки.
Этот файл флешке не требуется, если она тестируется из IDE, в дебаг-плеере.
__________________
Идите первым! |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 101
|
Замечу, что картинки отображаются то всегда, со всех ссылок. Но копировать через BitmapData не всегда удается.
mooncar, так что-то можно сделать, чтобы все работало?
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча. |
|
|||||
|
Модрон-ветеринар
|
Цитата:
Нет. Разве что хозяева ресурса явно разрешат использовать размещенный у себя контент путем внесения домена с твоей флешкой в свой кроссдоменник.
__________________
Идите первым! |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 101
|
Понятно. Как вариант наверное копировать картинки на сервер и потом уже отображать.
Спасибо большое, mooncar.
__________________
Кто к нам с мечом придет, тот появиться на респауне уже без меча. |
|
|||||
|
Модрон-ветеринар
|
Вообще, я проверил, файл http://i.imgur.com/crossdomain.xml существует, вот его содержание:
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*"/> <site-control permitted-cross-domain-policies="master-only"/> </cross-domain-policy> Запись master-only всего лишь указывает, что "файл /crossdomain.xml является единственным допустимым файлом политики на сервере". Вывод - надо проверять, идет ли вообще запрос на файл http://i.imgur.com/crossdomain.xml. Проверить можно сниффером, например в FireFox я использую плагин HttpFox. Если не идет, то вначале явно загружать файл политик, то есть этот кроссдоменник, если флешка автоматически его не запрашивает.
__________________
Идите первым! Последний раз редактировалось mooncar; 07.03.2012 в 12:44. |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|