Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   фотграфия загруженна ( визуально видно ) а переодически _height = 0 (http://www.flasher.ru/forum/showthread.php?t=116377)

darksranger 28.09.2008 21:03

фотграфия загруженна ( визуально видно ) а переодически _height = 0
 
итак столкнулся с проблемой
редко (но все же имеет место быть ) свойство _height и _width, возвращают нули, не сматря на то, что визуально я вижу фотографию, а свойство читается после загрузки

тоесть, получается размеры вижу, но не могу получить

MC создается стандартно
Код:

jpg = mc.createEmptyMovieClip("jpg", mc.getNextHighestDepth());
гружу фотографию стандартно тоже
Код:

jpg.loadMovie(nameImage);
mc.onEnterFrame =  mx.utils.Delegate.create(this, mcOnEnterFrame);
        public function mcOnEnterFrame(){

                        var l = jpg.getBytesLoaded();
                        var t = jpg.getBytesTotal();
                       
                        if (l && t) {
                                if (l == t) {
                                        trace(jpg._height) // иногда = 0
 
                                }
                               
                        }
                       
               
        }

в чем может быть проблема ?
думал что опера опять палки в колеса вставляет, ан нет, в IE тоже просматривается такой глюк

возможно ли такое
что фотография берется из кеша
загрузчик нечего не грузит, но контейнер обновляет и так как он туда не чего не загрузил, height возвращает 0

бредовая мысль, но чесно уже просто не представляю почему такое может быть, причем переодичность вобще не с чем не связанна, может на 1 обновление выпасть 0, может на 101, а размеры очень нужны :(

UPD дело точно не в кеше, только что проверил :(

DarkLight 28.09.2008 21:11

1) Вместо loadMovie используйте MovieClipLoader, это правильнее
2) бага имеет место, раньше часто сталкивался. Я решал путем установки _xscale и _yscale клипа в 100 перед считыванием размеров, обычно помогало. Более надежный вариант - проверять на равенство 0, и если 0 - то через маленький интервал считать снова - размеры материализуются через несколько мс после загрузки.

etc 28.09.2008 21:11

Равное количество загруженного и всего байт не однозначно определяет окончание загрузки. Нужно использовать MovieClipLoader и соответствующие события.

darksranger 28.09.2008 22:01

Спасибо !

DarkLight 29.09.2008 00:21

Цитата:

Сообщение от __etc (Сообщение 766940)
Равное количество загруженного и всего байт не однозначно определяет окончание загрузки. Нужно использовать MovieClipLoader и соответствующие события.

Не знаю как в 9ом, а в 8ом плеере даже на onLoadInit у MovieClipLoader'a у меня иногда всплывала вышеописанная бага с нулевыми размерами (в 8ом было сначала complete, потом init, поэтому именно на него подписывался всегда).


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

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