Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 13.12.2011, 13:56
Sal вне форума Посмотреть профиль Отправить личное сообщение для Sal Найти все сообщения от Sal
  № 1  
Ответить с цитированием
Sal

Регистрация: Dec 2011
Сообщений: 2
По умолчанию Проблема с Loader

Товарищи, подскажите в чем может быть затык:
гружу фотку пользователя вконтакте, вот так:

Код AS3:
var img_load = new Loader;
var pic_cont:Bitmap = new Bitmap;
var mc_MyClip:MovieClip = new MovieClip;
 
img_load.contentLoaderInfo.addEventListener(Event.COMPLETE, on_pic_load);
img_load.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSECURITY_ERROR);
img_load.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIO_ERROR);			
 
function onSECURITY_ERROR(event:SecurityErrorEvent)  {
	debug_outpt.appendText("Ошибка запроса к серверу: " + event.toString() + "\n");
}
 
function onIO_ERROR(event:IOErrorEvent)  {
	debug_outpt.appendText("Ошибка запроса к серверу: " + event.toString() + "\n");
}
 
function on_pic_load(e:Event):void {
var userPhotoBitmap:Bitmap = Bitmap(e.target.content);
mc_MyClip.addChild(userPhotoBitmap);
debug_outpt.appendText("Фотка загружена \n");
}
 
img_load.load(new URLRequest(pic_url));
При тестировании локально - фотки грузятся на ура, заливаю вконтакт, перестают грузиться (не срабатывает on_pic_load() ).
Ссылка на pic_url правильная и локально и в загруженном приложении вконтакт, проверял 100% (пример ссылки: http://cs9851.vkontakte.ru/u56032503/b_f0ded3fd.jpg).
SecurityErrorEvent или IOErrorEvent не вызываются, просто тишина. Кто может помочь с бедой?


Последний раз редактировалось Sal; 13.12.2011 в 19:31. Причина: исправлена ошибка в коде примера
Старый 13.12.2011, 15:14
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Код нужно оформить тегами [АS3][/АS3] (кнопка AS3 в редакторе сообщения)
__________________
Поймай яблоко 2!

Старый 13.12.2011, 15:19
BuKT вне форума Посмотреть профиль Отправить личное сообщение для BuKT Найти все сообщения от BuKT
  № 3  
Ответить с цитированием
BuKT
 
Аватар для BuKT

блогер
Регистрация: Dec 2010
Сообщений: 237
Записей в блоге: 5
Может проблема в том, что флешка создаётся с атрибутом local-with-filesystem и находится в "доверенной" папке?
__________________
Дебаггер не предлагать

Старый 13.12.2011, 15:50
GBee вне форума Посмотреть профиль Отправить личное сообщение для GBee Найти все сообщения от GBee
  № 4  
Ответить с цитированием
GBee
 
Аватар для GBee

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
А если сам лоадер добавить на mc_MyClip, а про битмап совсем закомментить, работает?
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 13.12.2011, 16:55
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 5  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Цитата:
Сообщение от Sal Посмотреть сообщение
Код AS3:
img_load.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onIOError);
 
function onIOError(event:IOErrorEvent) {
debug_outpt.appendText("Ошибка: " + event.toString() + "\n");
}
SecurityErrorEvent или IOErrorEvent не вызываются, просто тишина. Кто может помочь с бедой?
И плеер при этом не дебажный... По документации SecurityErrorEvent не является IOErrorEvent. Так что должно быть исключение несоответствия типов при диспетчеризации сообщения.

Старый 13.12.2011, 19:29
Sal вне форума Посмотреть профиль Отправить личное сообщение для Sal Найти все сообщения от Sal
  № 6  
Ответить с цитированием
Sal

Регистрация: Dec 2011
Сообщений: 2
Цитата:
Сообщение от GBee Посмотреть сообщение
А если сам лоадер добавить на mc_MyClip, а про битмап совсем закомментить, работает?
да, так сработало. добавил лоадер в мувик без ожидания события окончания загрузки, буквально так:

Код AS3:
loader_MyLoader.load(new URLRequest(pic_url));
mc_MyClip.addChild(img_load);
и все получилось. Не пойму только теперь как поймать событие окончания загрузки фотки, чтобы обработать фотку в битмапе.

Цитата:
Сообщение от maxkar Посмотреть сообщение
И плеер при этом не дебажный... По документации SecurityErrorEvent не является IOErrorEvent. Так что должно быть исключение несоответствия типов при диспетчеризации сообщения.
извиняюсь, накосячил при копировании кода в пост, поправил код примера. плеер дебажный, но ошибок не выдает

Цитата:
Сообщение от BuKT Посмотреть сообщение
Может проблема в том, что флешка создаётся с атрибутом local-with-filesystem и находится в "доверенной" папке?
локально local-with-filesystem
когда запускаю вконтакте, видимо remote
но судя по предыдущему опыту с прямым добавлением на мувик загрузка то происходит, но не вызывается события COMPLETE загрузки

Добавлено через 16 часов 27 минут
Проблема решена, всем спасибо за участие. Вот итоговый код, который помог подгрузить фотки:

Код AS3:
var img_load = new Loader;
var pic_cont:Bitmap = new Bitmap;
var mc_MyClip:MovieClip = new MovieClip;
var lc:LoaderContext = new LoaderContext(true);
 
img_load.contentLoaderInfo.addEventListener(Event.COMPLETE, on_pic_load);
img_load.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSECURITY_ERROR);
img_load.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onIO_ERROR);			
 
function onSECURITY_ERROR(event:SecurityErrorEvent)  {
	debug_outpt.appendText("Ошибка запроса к серверу: " + event.toString() + "\n");
}
 
function onIO_ERROR(event:IOErrorEvent)  {
	debug_outpt.appendText("Ошибка запроса к серверу: " + event.toString() + "\n");
}
 
function on_pic_load(e:Event):void {
var userPhotoBitmap:Bitmap = Bitmap(e.target.content);
mc_MyClip.addChild(userPhotoBitmap);
debug_outpt.appendText("Фотка загружена \n");
}
 
img_load.load(new URLRequest(pic_url), lc);
т.е. лоадеру было добаволено указание lc

Код AS3:
var lc:LoaderContext = new LoaderContext(true);
img_load.load(new URLRequest(pic_url), lc);
Всем спасибо за участие!


Последний раз редактировалось iNils; 13.12.2011 в 20:29.
Создать новую тему Ответ Часовой пояс GMT +4, время: 14:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 14:26.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.