Просмотр полной версии : размер загруженной картинки
Я делаю так:
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);
вопрос в догонку
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);
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.