![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
Всем доброго вечера!
Загружаю ВКонтакт файл Loader.swf и следом запускаю её. Loader.swf грузит с другого сервера Game.swf. Game.swf получает из ВКонтакта список друзей с установленной игрой и следом информацию о них. Важным параметром в информации для меня является адрес с картинкой. Через Loader я успешно загружаю эти картинки с сервера ВКонтакте. Получается что свойство loader.content у меня содержит Bitmap. И вот у меня есть у одного из классов функция: public function SetPhoto(_bitmapData:BitmapData):void { while(imageFriend.numChildren) imageFriend.removeChildAt(0); var bitmap:Bitmap=new Bitmap(_bitmapData); bitmap.smoothing=true; bitmap.width=48; bitmap.height=48; imageFriend.addChild(bitmap); isFriend=true; } При этом игра не работает. Чисто код останавливается. А если закомментировать всего одну строчку: То всё работает, только фото не выводится. Как так может быть? Ведь картинки успешно загружены, но возникает ошибка при их добавлении к Sprite в ребёнки. |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Как картинку грузите? checkPolicyFile==false? Если да, то доступа к точкам и не дадут. Можно либо установить checkPolicyFile в loaderContent, либо сам Loader выводить.
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
maxkar
Цитата:
Когда запускаю локально Loader.swf (то есть не из под ВКонтакта), то выводит ошибку: Цитата:
|
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
А Game.swf вы как грузите? Она в том же appdomain, что и Loader.swf или нет? Если в другом, значит правильно не дает. У контактовских серверов crossdomain разрешает только с их же серверов файлы грузит. Так что грузите Loader.swf в appdomain Game.swf
|
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
maxkar
Цитата:
Security.allowDomain("*"); localConnection=new LocalConnection(); localConnection.allowDomain("*"); Цитата:
Добавлено через 6 минут Этот код не решил проблемы: gameLoader.load( new URLRequest("http://????/Game.swf?"+(new Date()).getTime().toString()), new LoaderContext( false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain)); С выше показанным кодом вообще чёрный экран (похоже даже ресурсы с нашего сервера не может вывести), а вот с таким кодом карта показывается: Но опять же, фото друзей не выводится, даже панель не появляется, так как там код стопорится из за вывода фото. Как делать? Последний раз редактировалось s3dworld; 22.02.2012 в 19:55. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
maxkar
Цитата:
Думаю хак не лучший способ. Множество людей же делают игры для ВКонтакта без всяких хаков. Проблема в чём-то другом. Что это может быть? |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 497
|
Ну у меня, например, загрузка кода со своих серверов идет в ApplicationDomain.currentDomain и SecurityDomain.currentDomain. Еще и loadPolicyFile в true указывается (для кода, но вроде бы не нужно). А на своих серверах загрузка ресурсов разрешена со всех серверов. Все равно если кто-то контент решит утащить, он его и без crossdomain утащит. Адреса везде (в том числе - для своих ресурсов) - с адресом сервера. Для загрузки аватарок всего лишь установлен loadPolicyFile==true.
Хочу предупредить, что у контакта тоже не все гладко. Для "default" аватара он дает ссылку для которой нет правильной записи в crossdomain. И если вы все будете делать честно, доступа к контенту у человека, не загрузившего аватарку, вы все равно не получите. Как вариант - многие могут просто Loader на сцену добавлять. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 170
|
maxkar
Цитата:
Решил я в одном из классов, который унаследован от GUIEntity (а он в свою очередь от MovieClip), добавить этот Loader к себе (разумеется данные он уже загрузил): Ну и результат таков: - локальное рисунки с нашего сервера выводит; - из под ВКонтакта его аватарки не выводит Ну как так вообще может быть? |
|
|||||
|
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|