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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 27.02.2004, 08:54
Iv вне форума Посмотреть профиль Отправить личное сообщение для Iv Посетить домашнюю страницу Iv Найти все сообщения от Iv
  № 11  
Iv
 
Аватар для Iv

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
2Штрек
- сносится всё.

Старый 27.02.2004, 08:54
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 12  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
Цитата:
Оригинал написал(а) Nox Noctis
АХА ! попался ! )

в этом коде ноль равен нулю, потому что загрузка еще НЕ НАЧАЛАСЬ
Как же не началась, когда с реальным джипегом трейсится реальная ширина.

Старый 27.02.2004, 08:54
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 13  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
2BitSky
я давно этим пользуюсь, но как-то не задумывался над теорией... у мня несколько удивило что ты на эти грабли не наступал еще.. :)

получается то у загрузки есть пауза в один кадр.
то есть даже если все грузится моментально - то один кадр с момента вызова проходит вхолостую..

это странно, да..

но с другой стороны - загрузка ведь идет рывками.. "порциями".. может на каждую такую "порцию" требуется пауза в один кадр.. или что-то вроде

думаю что отгадать как там это на самом деле - нереально.. это в архитектуре плеера глубоко


Последний раз редактировалось Nox Noctis; 27.02.2004 в 08:57.
Старый 27.02.2004, 09:09
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 14  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) Штрек
когда с реальным джипегом трейсится реальная ширина.
Код:
this.createTextField("TF", 2, 0,0,0,0)
TF._width = Stage.width
TF._height = Stage.height
TF.multiline = true
TF.autoSize = true
TF.textColor = 0xff6600
TF.text = "loading started";
//
this.createEmptyMovieClip("img", 1)
img._x = Stage.width/2
img._y = Stage.height/2
img.loadMovie("BLABLABLA.jpg");
frames = 1;
this.onEnterFrame = function() {	
	var l = img.getBytesLoaded();
	var t = img.getBytesTotal();
	//
	var neo = "\n "+frames++;
	neo += " : "+"l["+l+"]  t["+t+"]";
	neo += " __ w["+img._width+"]  h["+img._height+"]";
	//
	TF.text += neo;
	TF.scroll = TF.maxscroll;
	//
	if (l && t && l>=t) {
		TF.text += "\nloading finished";
		delete this.onEnterFrame;
	}
};
посмотри что выводится... высота и ширина определяются только по окончании загрузки.

кстати, на днях наткнулся на один баг, который мня просто убивает...

1. делаем новый мувик под шестёрку.
2. в нём пишем вышеприведённый код
3. паблишим под шестёрку, но проигрываем в редакторе МХ2004

...и наблюдаем, что иногда (не всегда) перед началом загрузки успевает определиться тотальный размер -1. то есть как будто файла вообще нет. а иногда размер определяется так и несколько кадров подряд...

из редактора шестерки этот баг никогда не наблюдался, и при запуске в сети/из стандалоунового плеера тоже нет..

Старый 27.02.2004, 09:15
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 15  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
По умолчанию Re: размеры загруженного jpg?

Цитата:
Оригинал написал(а) Pogreb
потом я делаю из этого клипа -
кнопку по размеру загруженой картинки:
. .
А зачем тебе для кнопки размер?
Что сам мувик не может стать кнопкой?
Раз там при загрузке все обработчики сносит,
ставь обработчики, типа onRollOver когда отработает прелоад.

Старый 27.02.2004, 09:27
Штрек вне форума Посмотреть профиль Отправить личное сообщение для Штрек Найти все сообщения от Штрек
  № 16  
Штрек

Регистрация: Dec 2002
Адрес: Сочи
Сообщений: 2,819
В этом коде
this.createEmptyMovieClip("mc", 0);
this.mc.loadMovie("pic.JPG");
this.onEnterFrame = function() {
if (this.mc.getBytesLoaded() == this.mc.getBytesTotal()) {
trace(this.mc._width);
delete this.onEnterFrame;
}
};
если грузить реальную картинку, трейсится
РЕАЛЬНАЯ ширина, а раз так, то не 0==0,
а реальн.загрузка == весу джипега.
Вот на это я и просил обратить внимание.

Старый 27.02.2004, 09:38
Iv вне форума Посмотреть профиль Отправить личное сообщение для Iv Посетить домашнюю страницу Iv Найти все сообщения от Iv
  № 17  
Iv
 
Аватар для Iv

Регистрация: Apr 2001
Адрес: Moscow
Сообщений: 1,475
обратили уже

Старый 27.02.2004, 10:55
Pogreb вне форума Посмотреть профиль Отправить личное сообщение для Pogreb Найти все сообщения от Pogreb
  № 18  
Pogreb

Регистрация: Feb 2004
Адрес: Владивосток
Сообщений: 15
всем, всем, всем!
Спасибо Вам огромное, что ответили на мой вопрос.
Я, действительно проверял размер картинки не проверяя ее загрузки, а просто в следующей строке.

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

Ипосле этого я сразуже написал
this.onEnterFrame() =function{

if (mc_img._width!=0){run();}
}

Старый 27.02.2004, 11:15
Pogreb вне форума Посмотреть профиль Отправить личное сообщение для Pogreb Найти все сообщения от Pogreb
  № 19  
Pogreb

Регистрация: Feb 2004
Адрес: Владивосток
Сообщений: 15
... т.е.
если ширина клипа, в который загружается картинка
не равна нулю, то значит картинка загрузилась.

А вообще я скажу зачем мне все это надо было:

Я делаю прокручивающийся список иконок(jpg),
нажимая на которые можно будет загружать большие
картинки.
Этот список строется динамически:
Компонент открывает XML, где перечислены названия файлов (jpg),
и описания к большим картинам,
определяет колличество, загружает иконки в специальный клип - контейнер, выстраивает иконки вряд, делает из них кнопки, и подписывает их.
Затем рисует и применяет к контейнеру маску, определенной фомы и наконец позволяет их прокручивать в контейнере.

Расположение контейнера он берет у заранее нарисованного
на сцене квадратика - клипа.

Если размеры какой нибудь конки изменились, то он мгновенно
сдваигает все остальные картинки.

Вот для этого и нужно мне было знать размеры загружаемых иконок.
Всего доброго Всем!

Старый 27.02.2004, 11:36
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 20  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) Штрек
если грузить реальную картинку, трейсится
РЕАЛЬНАЯ ширина, а раз так, то не 0==0,
а реальн.загрузка == весу джипега.
Вот на это я и просил обратить внимание. ;)
че-та я не понимаю о чем речь :) при чем тут реальные размеры картинки ? :) это ДО того как ее погрузили - будет ноль равен нулю. в этом коде. и trace(this.mc._width); выдаст текущий размер клипа (у нас он пустой - а мог быть чем-то заполненный)

Цитата:
Оригинал написал(а) Pogreb
... т.е.
если ширина клипа, в который загружается картинка
не равна нулю, то значит картинка загрузилась.
этот метод прокатит только тогда, когда ты точно знаешь что размер клипа, в который ты грузишь ее - равен нулю. если у тебя до загрузки в клипе что-то было, то этот метод даст ошибку

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

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

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


 


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


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