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

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

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

Регистрация: Jun 2013
Сообщений: 33
По умолчанию Не добавляется картинка на сцену

Подскажите пожалуйста что не так?



Код AS3:
VK.api('users.get', {uid:'1',fields:'first_name,last_name,photo_50'}, photoOK, onError);
 
		}
		private function photoOK (date:Object) {
 
			var userPhoto:Loader = new Loader();
			userPhoto.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompl, false, 0, true);
                        //адрес картинки приходит
			userPhoto.load(new URLRequest(date[0].photo_50));
			function onCompl(e:Event) {
				tex.appendText("работает");				
				var image:Bitmap = userPhoto.contentLoaderInfo.content as Bitmap;
				addChild(image);
			}
		}

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

Регистрация: Nov 2010
Сообщений: 497
Цитата:
userPhoto.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompl, false, 0, true);
Ну все правильно. Сами указали. Слушатель прекрасно собирается GC. Прочитайте документацию по addEventListener (последний параметр), там все прекрасно написано.

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

Регистрация: Jun 2013
Сообщений: 33
function onCompl выполняется.
На экран добавляется "работает".
А вот картинка не добавляется.

Старый 24.07.2013, 15:18
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 4  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
А вот картинка не добавляется.
я не могу ответить на ваш вопрос, но более подробно растолковать слова
Цитата:
Ну все правильно. Сами указали. Слушатель прекрасно собирается GC.
GC - это сборщик мусора, он собирает отработавшие свойства и в вашем случаи удаляет слушателя.
Так как вы сами ему это указали
(Event.COMPLETE, onCompl, false, 0, true);

Старый 24.07.2013, 15:23
alexqw вне форума Посмотреть профиль Отправить личное сообщение для alexqw Найти все сообщения от alexqw
  № 5  
Ответить с цитированием
alexqw

Регистрация: Jun 2013
Сообщений: 33
Про слушателя знаю. Но он же срабатывает один раз. Больше и не надо по идее.

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
У меня код всё грузит
Код AS3:
var userPhoto:Loader;
userPhoto = new Loader();
userPhoto.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete, false, 0, true);
userPhoto.load(new URLRequest("http://cs424521.vk.me/v424521217/11db/eBXARIt219c.jpg"));
 
// onComplete:
var image:Bitmap = userPhoto.contentLoaderInfo.content as Bitmap;
addChild(image);
__________________
Нормально делай — нормально будет!

Старый 24.07.2013, 15:29
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 7  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
Значит нужно LoaderContext сделать и установить loadPolicyFile. Вероятно, вам нельзя content трогать.

А слушатель может потом в любой момент отвалиться сам по себе.

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

Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
Поменяйте date[0].photo на data[0].photo
__________________
Нормально делай — нормально будет!

Старый 24.07.2013, 15:46
alexqw вне форума Посмотреть профиль Отправить личное сообщение для alexqw Найти все сообщения от alexqw
  № 9  
Ответить с цитированием
alexqw

Регистрация: Jun 2013
Сообщений: 33
Цитата:
Сообщение от maxkar Посмотреть сообщение
Значит нужно LoaderContext сделать и установить loadPolicyFile. Вероятно, вам нельзя content трогать.

А слушатель может потом в любой момент отвалиться сам по себе.
Можно поподробнее?

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

Регистрация: Nov 2010
Сообщений: 497
А что подробнее?

У вас ссылка на слушатель слабая. Поэтому если в какой-то момент запустится GC, он соберет ваш слушатель как мусор. Поэтому слушатель просто не вызовется. И чем дольше грузится картинка, тем больше шанс этого события. Но даже малое время от проблемы не избавляет, просто вероятность события уменьшается.

Или вы про LoaderContext? Loader.load принимает в качестве второго параметра LoaderContext. LoaderContext в качестве какого-то параметра (то ли первого, то ли последнего) получает флаг loadPolicyFile. Если crossdomain не загружать (или в нем нет доступа для вашей флешки), то в loader вы изображение с другого домена загрузить можете, а вот получить доступ к нему (как bitmap/movieclip/sprite) - нет. И отрисовать его (как BitmapDrawable) у себя не сможете. Поэтому если хочется доступа, нужно нужные флаги указывать. То ли в документации по loader, то ли по loaderContext нужная информация и ссылки на более подробную должны быть.

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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