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

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

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

Регистрация: Aug 2012
Сообщений: 12
По умолчанию сбивается центровка изображения

загружаю изображение с удаленного сервера :
Код AS3:
var urlReq: URLRequest = new URLRequest("http://88.212.***.**/homeAlone/vk/diary/diary3.jpg");
			diaryLoader = new Loader();
			diaryLoader.load(urlReq);
			diary = diaryLoader.content;
			diaryLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onDiaryLoaded);
 
 
	private function onDiaryLoaded(e:Event):void
		{
			setSize(e.target.content.width, e.target.content.height);
			addChildAt(e.target.content,0);
 
		}
почему то когда изображение грузится в первый раз оно центрируется по нижнему правому углу, а потом уже постоянно выравнивается по центру, как и нужно. из-за чего?

Старый 24.08.2012, 12:34
Krusty вне форума Посмотреть профиль Отправить личное сообщение для Krusty Найти все сообщения от Krusty
  № 2  
Ответить с цитированием
Krusty

Регистрация: Jul 2007
Сообщений: 393
Потому что вы выставляете ее по центру по событию Event.COMPLETE, т.е. по факту полной загрузки.
А повторно оно грузится из кэша, т.е. Event.COMPLETE происходит почти сразу, поэтому и выравнивание срабатывает сразу.

Старый 24.08.2012, 12:54
r0m1n вне форума Посмотреть профиль Отправить личное сообщение для r0m1n Найти все сообщения от r0m1n
  № 3  
Ответить с цитированием
r0m1n

Регистрация: Aug 2012
Сообщений: 12
нужно заранее координаты лоадера выставить?
Код AS3:
diaryLoader.x=0;
diaryLoader.y=0;
так?

Старый 24.08.2012, 13:00
zuxul вне форума Посмотреть профиль Отправить личное сообщение для zuxul Найти все сообщения от zuxul
  № 4  
Ответить с цитированием
zuxul

Регистрация: Dec 2009
Адрес: 59°13′N, 39°54′E
Сообщений: 445
Записей в блоге: 1
Потому что, в начале, изображение не загружено, и следовательно, высота и ширина не известна (и контейнер - Loader имеет высоту и ширину 0)
Хотя, это я туплю, у Вас же в комплите, значить косяк в чем-то другом

Старый 24.08.2012, 13:00
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 5  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Krusty, вы о чем? Я лично здесь никакой разницы не вижу. У него изображение всегда добавляется по факту полной загрузки. Что с сервера, что из кэша.
Если речь о diary = diaryLoader.content;, то в этом коде я не вижу где это используется. Добавляется-то e.target.content
Цитата:
нужно заранее координаты лоадера выставить?
diaryLoader.x=0;
diaryLoader.y=0;
так?
нет, хотя это тоже вариант.
Но у вас скорее всего проблема в присвоении ширины и высоты изображению.
Слишком мало информации, чтобы сказать точнее

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

Регистрация: Jul 2007
Сообщений: 393
А, ну да, не заметил когда делается добавление.

Старый 24.08.2012, 13:19
r0m1n вне форума Посмотреть профиль Отправить личное сообщение для r0m1n Найти все сообщения от r0m1n
  № 7  
Ответить с цитированием
r0m1n

Регистрация: Aug 2012
Сообщений: 12
Цитата:
Сообщение от caseyryan Посмотреть сообщение
Krusty, вы о чем? Я лично здесь никакой разницы не вижу. У него изображение всегда добавляется по факту полной загрузки. Что с сервера, что из кэша.
Если речь о diary = diaryLoader.content;, то в этом коде я не вижу где это используется. Добавляется-то e.target.content

нет, хотя это тоже вариант.
Но у вас скорее всего проблема в присвоении ширины и высоты изображению.
Слишком мало информации, чтобы сказать точнее
заранее указать ширину и высоту loader'у ? указание координат для него не помогает. кстати если картинку гружу с локалхоста - сразу нормально встает по центру. такое ощущение что действительно проблема в задержке какой-то. только я же вроде после того как она загружена добавляю...

Добавлено через 12 минут
тоже не помогло

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Забудьте про loader, изменяйте координаты загруженного им контента.
Код AS3:
private function onDiaryLoaded(e:Event):void
{
	setSize(e.target.content.width, e.target.content.height); // проблема, скорее всего, в этом методе
	addChildAt(e.target.content,0);
}
что если сделать так:

Код AS3:
private function onDiaryLoaded(e:Event):void
{
	var img:Bitmap = e.target.content as Bitmap;
           img.x = 50;
           img.y = 50;
	addChildAt(img, 0);
}
?

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

Регистрация: Aug 2012
Сообщений: 12
картинку чё-то режет... но вроде как сразу куда нужно сдвигает. вручную размер прописать?

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

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Здесь никакой код не режет картинку. Это делает какой-то другой код. Так что смотрите что там у вас еще в приложении

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

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

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


 


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


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