![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Приложение подключено через FLASH-контейнер.
Вот этот код работает на декстопе, но не работает после загрузки в ВК (containerBasic - контейнер с объектами, containerOverGame - слой поверх игры): |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
А ошибки какие-то вылетают? Возможно, политика безопасности отрисовать не дает.
|
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Ошибок как таковых нет.
Просто изображение экрана не отрисовывается. |
|
|||||
|
Lorem ipsum
|
containerBasic содержит в себе загруженные с помощью Loader изображения с сервера контакта или какого-либо другого?
__________________
Поймай яблоко 2! |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
он содержит в себе объекты из библиотечных swf, подруженных с ВК
Видимо, у меня вот это (из адобовских доков): ******* Примечание. Объект source и (в случае с объектами Sprite и MovieClip) все его дочерние объекты должны находиться в том же домене, что и вызывающий объект, или в SWF-файле, доступном вызывающему объекту посредством вызова метода Security.allowDomain(). Если эти условия не соблюдаются, метод draw() ничего не рисует. ******** Что и где надо прописать? |
|
|||||
|
Lorem ipsum
|
у меня ничего не заработало пока я Loader-у не скормил context:
не проверял draw, но у меня только после этого пропала проблема видимости классов из подгружаемых swf_ов.
__________________
Поймай яблоко 2! |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
у меня подгрузка так и реализована:
public class libraryLoader extends Sprite { public var library; private var basicPreloader; private var containerOverGame; public function libraryLoader(libraryUrl,_containerOverGame) { containerOverGame = _containerOverGame; // Показываем прелоадер basicPreloader = new BasicPreloader(); containerOverGame.addChild(basicPreloader); Security.allowDomain("*"); var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); var domain = new LocalConnection().domain; if (domain!="localhost") context.securityDomain = SecurityDomain.currentDomain; context.applicationDomain = ApplicationDomain.currentDomain; var lib:MovieClip=new MovieClip(); var l:Loader=new Loader(); l.contentLoaderInfo.addEventListener(Event.COMPLETE, completeLoadLibrary); l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); l.load(new URLRequest(libraryUrl), context); lib.addChild(l); } private function completeLoadLibrary(e:Event) { var ldr:Loader = Loader(e.target.loader); var library = ldr.contentLoaderInfo.applicationDomain.getDefinition; containerOverGame.removeChild(basicPreloader); var eventData = library; var parkingEvent:ParkingEvent = new ParkingEvent("libraryLoaded",eventData,true) dispatchEvent(parkingEvent); } private function progressHandler(event:ProgressEvent):void { var progressNum:Number = new Number(event.bytesLoaded / event.bytesTotal * 100); basicPreloader.procentLoaded.text = progressNum.toFixed(0) + "%"; } } Повторюсь, сами-то объекты присутствуют (видны) на сцене. Их не видит только draw(); Какая-то мистика. Добавлено через 6 часов 29 минут Решение вроде нашлось Оказывается flash объекты грузит и показывает, но чтобы редактировать их свойства (draw нужен этот уровень доступа) требуется загрузка файла политик. Чего у меня не было. Завтра попробую. Добавлено через 23 часа 41 минуту чего-то ничего не выходит... скоро голова треснет Добавлено через 69 часов 18 минут между делом разобрался, может кому поможет - нарушение изолированной среды вызывали фотографии пользователей, подгруженные в текстовые поля через htmlText. Последний раз редактировалось mikhailk; 25.03.2010 в 13:42. |
|
|||||
|
а если это не картинка а NetStream, то как написать нужно, чтобы можно было фотографировать методом draw время от времени картинку из видео ?
Вот я пишу: Security.allowDomain("*"); Security.loadPolicyFile("http://mySiye.ru/video/crossdomain.xml"); ..... BD.draw(sourceVideoSprite,null,null,null,null,Smooth); файлы crossdomain.xml лежат и возле флэшки воспроизводящей видеопоток и возле файла потока Текст файла: |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|