Форум 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)
-   -   размер загруженной картинки (http://www.flasher.ru/forum/showthread.php?t=68002)

UserAd 17.08.2005 10:46

размер загруженной картинки
 
Я делаю так:

createEmptyMovieClip("a",1);
a.loadMovie("http://asdsadsad.ru/a.jpg");
trace(a._width);

выдает 0, хотя картинку рисует, что делать?? :confused:

motor4ik 17.08.2005 11:10

выдает 0 потому что операция trace происходит раньше чем картинка успевает загрузиться.... есть такая штука onLoad вот еси туда запихаешь trace(a._width) будешь в шоколода, удачи :)

DeadMorozz 17.08.2005 12:31

Код:

this.createEmptyMovieClip("tester_mc", 1);
tester_mc.loadMovie("img/p1.jpg");
function checkLoaded(target_mc:MovieClip) {
  var pctLoaded:Number = target_mc.getBytesLoaded()/target_mc.getBytesTotal()*100;
  if (!isNaN(pctLoaded) && (pctLoaded>0)) {
        trace("tester_mc = "+tester_mc._width+"x"+tester_mc._height);
    clearInterval(myInterval);
  }
}
var myInterval:Number = setInterval(checkLoaded, 100, tester_mc);


UserAd 17.08.2005 14:30

вопрос в догонку

Код:

                function izCallback1()
        {
                trace('callback');
        }
       
        function getImageSize(image)
        {
        //return "2121";
                //sizing = eval("_level0.sizig");
                var size:Array = new Array;
                var mclListener:Object = new Object();
                mclListener.onLoadInit = function(target_mc:MovieClip)
                {
                        target_mc._visible = false;
                        size[0] = target_mc._width;
                        size[1] = target_mc._height;
                        outer = size[0]+","+size[1];
                                      izCallback1();
                };
                var image_mcl:MovieClipLoader = new MovieClipLoader();
                image_mcl.addListener(mclListener);
                image_mcl.loadClip(image, _level0.sizing);
       
        }

почему izCallback не вызывается? трейс перед и после вызова нормальный

motor4ik 17.08.2005 15:04

потому что путь указан неверно! укажи абсолютный путь! ну там где она у тебя, к примеру _root.izCallback1();

DeadMorozz 17.08.2005 15:21

Код мутноватый, если честно. Проще доработать текущий.
Код:

function setCallback(obj:MovieClip){
        trace(obj._width);
}
this.createEmptyMovieClip("tester_mc", 1);
tester_mc.loadMovie("img/p1.jpg");
function checkLoaded(target_mc:MovieClip) {
  var pctLoaded:Number = target_mc.getBytesLoaded()/target_mc.getBytesTotal()*100;
  if (!isNaN(pctLoaded) && (pctLoaded>0)) {
        setCallback(target_mc);
        clearInterval(myInterval);
  }
}
var myInterval:Number = setInterval(checkLoaded, 100, tester_mc);



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

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