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

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

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

Регистрация: Jun 2010
Сообщений: 107
Question Подскажите с лоадером...

Как лучше загружать картинки из интернета, с помощью Loader или URLLoader? У меня задача загрузить картинку и поместить ее в центр экрана, следовательно нужно после загрузки картинки узнать ее высоту и ширину.

Попробовал сначала Loader'ом. Но при событии Event.COMPLETE, loader.content.height и loader.content.width вызывают ошибку (не знаю какую, т.к. это приложение для контакта, и использует флеш-контейнер, так что trace использовать не могу и output не вижу).

После неудачи с Loader, попробовал сделать так - загрузить картинку URLLoader'ом в формате Binary, а потом сделать так: loader.loadBytes(uRLLoader.data); не получилось. Скажите, добрые люди, как правильно и легко загрузить картинку?

Старый 10.08.2011, 22:01
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 2  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
используйте Loader и на прослушивание события Event.COMPLETE подписывайте объект contentLoaderInfo вашего лоадера
__________________
freelance | Раздор

Старый 10.08.2011, 22:02
Light вне форума Посмотреть профиль Отправить личное сообщение для Light Найти все сообщения от Light
  № 3  
Ответить с цитированием
Light

Регистрация: Jun 2010
Сообщений: 107
derhab, я именно так и делал. А как иначе-то с Loader'ом?

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
бывает, некоторые подписывают сам лоадер просто...
не можете использовать трейс, сделайте временное текстовое поле для отладки и выводите инфу туда
__________________
freelance | Раздор


Последний раз редактировалось derhab; 10.08.2011 в 22:06.
Старый 10.08.2011, 22:05
Light вне форума Посмотреть профиль Отправить личное сообщение для Light Найти все сообщения от Light
  № 5  
Ответить с цитированием
Light

Регистрация: Jun 2010
Сообщений: 107
Вот URLLoader'a я подписал самого, так и нужно было?

Добавлено через 5 минут
Я сделал временное текстовое поле, при попытке вывода в него loader.content.width.toString() или loader.content.height.toString() или loader.content.toString(), ничего не происходит и дальнейшие строки кода не выполняются

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
да, URLLoader - ом так и нужно, только зачем он вам для подгрузки картинок?
используйте Loader и получите как-то инфу на Event.COMPLETE, чтоб понять что там пришло

Добавлено через 1 минуту
покажите весь код загрузки
__________________
freelance | Раздор

Старый 10.08.2011, 22:21
Light вне форума Посмотреть профиль Отправить личное сообщение для Light Найти все сообщения от Light
  № 7  
Ответить с цитированием
Light

Регистрация: Jun 2010
Сообщений: 107
Код AS3:
package
{
	import flash.display.Sprite;
    import flash.display.Loader;
    import flash.events.*;
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.net.URLLoaderDataFormat;
    import flash.text.*;
 
	public class PhotoContainer extends Sprite
	{
		private var loader:Loader;
		private var loaderHandler:Sprite;
 
		private var url:String;
 
		public function PhotoContainer (url:String):void
		{
			this.url = url;
 
			addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
		}
 
		private function onAddedToStage(e:Event):void
		{
			loader = new Loader();
			loaderHandler = new Sprite();
 
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
			loader.load(new URLRequest(url));
 
			loaderHandler.addChild(loader);
			addChild(loaderHandler);
		}
 
		private function onLoadComplete(e:Event):void
		{
			var t:TextField = new TextField();
			t.x = 300;
			t.y = 550;
			addChild(t);
 
			t.text += stage.stageWidth.toString() + " | ";
			t.text += loader.content.width.toString() + " | ";
			t.text += loader.content.toString() + " | ";
		}
	}
}
t.text += stage.stageWidth.toString() + " | "; выполняется, а следующая строка и все, что идет после нее - нет

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
может
Код AS3:
t.autoSize = 'left';
t.wordWrap = true;
я к тому что вы уверены что видите весь текст в поле?
__________________
freelance | Раздор

Старый 10.08.2011, 22:34
Light вне форума Посмотреть профиль Отправить личное сообщение для Light Найти все сообщения от Light
  № 9  
Ответить с цитированием
Light

Регистрация: Jun 2010
Сообщений: 107
Да, я подумал об этом. Специально выделял весь текст, проверяя, все ли я там увидел.

Старый 10.08.2011, 22:43
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 10  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
а так?
Код AS3:
t.text += e.target.content.toString() + " | ";
__________________
freelance | Раздор

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

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

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


 


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


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