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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.10.2009, 17:00
niil вне форума Посмотреть профиль Отправить личное сообщение для niil Найти все сообщения от niil
  № 11  
Ответить с цитированием
niil

Регистрация: Oct 2009
Сообщений: 12
Огромное Вам спаибо. Разобрался. Cобытие срабатывает, получаю имя компонента из параметра расширенного URLLoader'а, но не могу отобразить картинку. Не подскажите в чем могут быть грабли.
Вот тут происходит реакция на событие complete URLLoaderEx (URLLoader)

Код AS3:
function f_ILoad(e:Event){
  var Pan:String =  (e.target as URLLoaderEx).CompName;
  var Image: Bitmap = (Bitmap)(e.target.content);
  Image.x = 30;
  Image.y = 60;
  Image.visible = true;
  var MC:Object = this.getChildByName(Pan);
  MC.addChild(Image);		
}


Последний раз редактировалось niil; 15.10.2009 в 17:03.
Старый 15.10.2009, 17:16
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 12  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Для загрузки картинок класс Loader используется. (еще раньше удивилась, чего вы вдруг URLLoader начали расширять).
Ну и я обычно выдираю из e.target.content битмап-дату и создаю для нее новый битмап со смузингом
Код AS3:
var bitmap_data :BitmapData = ((e.target as Loader).content as Bitmap).bitmapData;
var container :Bitmap = new Bitmap(bitmap_data, "auto", true);

Старый 15.10.2009, 17:37
niil вне форума Посмотреть профиль Отправить личное сообщение для niil Найти все сообщения от niil
  № 13  
Ответить с цитированием
niil

Регистрация: Oct 2009
Сообщений: 12
Переделал для Loader и исп. битмап-дату как Вы написали, но Image не выводтся... Черт, в чем же может быть проблема? В типе файла PNG?
Код AS3:
function f_ILoad(e:Event){
  var Pan:String =  (e.target as LoaderEx).CompName;
  var BData:BitmapData = ((e.target as LoaderEx).content as Bitmap).bitmapData;
  var Image:Bitmap = new Bitmap(BData, "auto", true);
  Image.x = 30;
  Image.y = 60;
  Image.height = 50;
  Image.width = 50;
  Image.visible = true;
  var MC:Object = this.getChildByName(Pan);
  MC.addChild(Image);		
}


Последний раз редактировалось niil; 15.10.2009 в 17:42.
Старый 15.10.2009, 17:48
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 14  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
-пройдитесь трейсом (есть ли битмапдата, какой у нее размер, есть ли ваш MC)
-проверте на простом примере загрузить вашу картинку (просто одну)
-попробуйте вместо
Код AS3:
var BData:BitmapData = ((e.target as LoaderEx).content as Bitmap).bitmapData;
вставить
Код AS3:
var BData:BitmapData = new BitmapData(100,100,false, 0xff);
Если и так не заработает, то проблема в клипе, куда вы все это аттачите или в координатах его (его может попросту быть невидно)

И еще
Код AS3:
 var mc:MovieClip= this.getChildByName(Pan) as MovieClip;
и переменные с маленькой буквы принято называть. Ну это так уже не по теме

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

Регистрация: Oct 2009
Сообщений: 12
Выяснил, что при исп. Loader, вместо URLLoader соыбтие "complete" не генерируется и собстно IOErrorEvent.IO_ERROR тоже.
Кстать, флеха должна качать файлы с сервака. Указываю путь для скачивания:
А если после вызова Loader, прописать Pan.addChild(LoaderEx); - картинка появляется
Код AS3:
var UrlRequest:URLRequest = new URLRequest('../resurs/menu/mi_' + Type1 + '_' + Type2 + '.png'); // или menu/mi_' + Type1 + '_' + Type2 + '.png' - флешка располагается в папке resurs


Последний раз редактировалось niil; 15.10.2009 в 18:29.
Старый 15.10.2009, 18:30
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 16  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
при исп. Loader, вместо URLLoader соыбтие "complete" не генерируется и собстно IOErrorEvent.IO_ERROR тоже
Событие генерируется, только не самим Loader, а его Loader.contentLoaderInfo - именно его нужно подписывать на оба события при использовании Loader
А картинка появляется как раз после генерации события COMPLETE - т.к. Loader является наследником DisplayObject'а.
__________________
...вселенская грусть


Последний раз редактировалось gloomyBrain; 15.10.2009 в 18:34.
Старый 15.10.2009, 19:17
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 17  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Gal4enochek, а зачем делать новуюбитмапдату для смузинга?
Качество картинок, что дает loader весьма отличное, или я не понимаю чего?)

Старый 15.10.2009, 19:43
Gal4enochek вне форума Посмотреть профиль Отправить личное сообщение для Gal4enochek Найти все сообщения от Gal4enochek
  № 18  
Ответить с цитированием
Gal4enochek

Регистрация: May 2008
Адрес: Днепропетровск
Сообщений: 151
Отправить сообщение для Gal4enochek с помощью ICQ
Psycho Tiger, я так делаю просто, если потом битмап скейлить нужно будет. Иначе битое изображение выходит.

Добавлено через 3 минуты
Правда можно просто smoothing конечно выставить. Просто во многих случаях именно сама битмапдата нужна для дальнейшей обработки, вот по привычке и выдираю ее из лоадера , а потом где нужно использую.

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

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

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


 


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


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