AS3, Facebook API - не удается получить изображение из объекта события после загрузки изображения - PullRequest
0 голосов
/ 14 марта 2012

Я получаю загадочный результат при попытке загрузить изображения профиля из зарегистрированного в списке друзей пользователя Facebook в приложение as3 canvas. В почти каждом ( не-facebook ) приложении, которое я сделал, когда требуется загрузка изображения, я использую следующее:

private function loadPic():void
{
    var url:String = Facebook.getImageUrl(_friendslistObjectArray[_loadCount].id);
    _picLoader = new Loader();
    var req:URLRequest = new URLRequest(url);
    _picLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onPicLoaded);

    _picLoader.load(req);
}

private function onPicLoaded(evt:Event):void
{
    _picLoader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onPicLoaded);

    // grab image from loader event to use it       
    var image = evt.target.content;

    trace("this trace won't even show up and the program silently fails unless the line above this is removed");

    _loadCount++;
    loadPic();
}

Я не могу получить изображение из объекта события, и мне вообще не дают ошибки. Все просто молча терпит неудачу. Если я уберу строку var image = evt.target.content , процесс пройдет через весь массив.

Я не могу придумать причину, по которой это произойдет. Кроме того, если я посмотрю на сетевую активность firebug, то увижу, что изображения загружаются, если в меня не включена только что упомянутая строка. Я просто не могу получить данные изображения из объекта события, чтобы добавить его на сцену или в видеоклип контейнера.

Это должно быть очень легко. Я ломаю голову здесь, пытаясь понять, что я пропустил или что не так. Какие-нибудь мысли? Спасибо!

Ответы [ 2 ]

0 голосов
/ 03 августа 2012

evt.target должен быть LoaderInfo объектом, попробуйте код здесь:

var image = (evt.targe as LoaderInfo).loader.content;
0 голосов
/ 14 марта 2012

Нашел ответ:

Эта строка:

Security.loadPolicyFile("http://profile.ak.fbcdn.net/crossdomain.xml");

Размещается прямо перед _picLoader.load (req); устраняет проблему.

Это была междоменная ошибка, но по какой-то неизвестной причине об ошибке не сообщалось, пока я не бросил var image = evt.target.content; в попытку / перехват и прочел сообщение об ошибке.

Подсказки к этому сообщению для ответа: Загрузить изображение профиля из Facebook с помощью Actionscript 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...