Просмотр полной версии : loadMovie и _height
knaydenov
26.11.2007, 17:48
Здравствуйте! У меня вопрос такой:
Я делаю чтото вроде фотогалереи и картинки в ней должны располагаться одна под другой не накладываясь друг на друга и плюс картинки могут быть разной высоты.
Значит загружаю при помощи loadMovie картинку в пустой мувиклип, размером 0х0, картинку вижу, после этого пытаюсь измерить высоту получившегося клипа, но все равоно высота остается 0.. что делать?:)
Fernando Costa
26.11.2007, 17:59
не могет быть, код в студию
knaydenov
26.11.2007, 18:22
function createTopic(id, Pos)
{
var MCx = "_root.MC.MC";
var txtField = ".txtFld";
var img = ".image";
_root.MC.attachMovie("blankTopic","MC"+id,Pos);
eval(MCx+id)._x=0;
var h,x;
eval(MCx+id+img).loadMovie(_root.image[id],1);
h=eval(MCx+(id-1)+".image._height");
y=eval(MCx+(id-1)+".image._y");
eval(MCx+id)._y=y+h;
eval(MCx+id+txtField).text = _root.description[id];
}
во такой вот код..)
maxx_tlt2
26.11.2007, 18:25
пользуй onLoaded
или сделай лучше так:
var mcl:MovieClipLoader = new MovieClipLoader();
var myL:Object = new Object();
myL.onLoadComplete = function() {
//ТВОИ ДЕЙСТВИЯ С ЗАГРУЖЕННЫМ РОЛИКОМ name1
};
mcl.loadClip("name.jpg", "name1");
mcl.addListener(myL);
knaydenov
26.11.2007, 18:39
вставил такое вот:
eval(MCx+id+img).onLoad = function():Void
{
trace("LOADED");
trace(eval(MCx+(id)+".image._height"));
}
Загружаем 2 картинки, выводит:
LOADED
0
LOADED
0
те после загрузки размер не изменился..
knaydenov, я не понимаю, неужели так сложно код отформатировать внутри тегов? Там же каша сплошная.
knaydenov
26.11.2007, 18:48
У меня подозрения что размеры клипа при загрузке не меняются в принципе, а в клип вставляется картинка, которая по размерам просто выходит за границы клипа.. в током случае можно зайти с др стороны, как перед загрузкой картинки посмотреть ее габариты??:)
var mcl:MovieClipLoader = new MovieClipLoader();
var myL:Object = new Object();
myL.onLoadComplete = function(mc) {
trace(mc._height);
};
mcl.loadClip("name.jpg", "name1");
mcl.addListener(myL);
knaydenov
26.11.2007, 19:19
Если использовать вышеприведенный код, то он работает, но только если в loadClip target "_root", если же создать пустой мувиклип и назначить его таргетом, то выводит опять _height 0 вот так..:confused:
Molecula
26.11.2007, 19:25
mcl.loadClip("name.jpg", "name1");
"name1" - означает куда грузить контент, так сказать.
Путь може быть любой, хоть такой -
_mc['my_mc'+12]._cake
Вышеприведенный код должен лежать в корне сцены, т.е. в Руте.
Если же Вы его вызываете из мувика, который вложенный в другой, остановитесь! Перепише код так, что бы весь контроль был в первом кадре в руте, тогда у Вас не будет путанницы.
this.createEmptyMovieClip("tester_mc", 1);
var mclListener:Object = new Object();
mclListener.onLoadInit = function(mc:MovieClip) {
trace(mc._height);
}
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("name.jpg", tester_mc);
tester_mc - клип в который грузим
knaydenov
26.11.2007, 19:32
Все именно так и сделал: Код в перовм кадре рута, в руте вставил мувик, пустой без кода и еще чего либо, назвал его ddd к примеру.
если в коде строчка такая
mcl.loadClip("name.jpg", "_root");
то все норм, выводи тразмер моей картинки
а вот если вот такая
mcl.loadClip("name.jpg", "_root.ddd");
то картинку загружает, но выводит что размер 0..
мистика:eek:
var mclListener:Object = new Object();
mclListener.onLoadInit = function(mc:MovieClip) {
trace(mc._height);
}
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("http://mail.google.com/mail/help/images/logo.gif", _root.ddd);
всё работает!!!
knaydenov
26.11.2007, 19:39
2telit о_О!! )) Заработало, то что доктор прописал)) Пасиба огоромное всем!!:yahoo:
stainwoortsel
08.01.2008, 05:37
Ребят, дело тут вовсе не в руте. Я проделывал ту же фишку с мувиком, который спрятан в мувике, который спрятан в мувике, который спрятан в мувике :)
В предыдущем коде заострим внимание на вот этом:
mclListener.onLoadInit = function(mc:MovieClip) {
trace(mc._height);
}
...и вот этом
image_mcl.loadClip("http://mail.google.com/mail/help/images/logo.gif", _root.ddd);
Фишка в том, что не обязательно грузить мув именно в _root.
Функция, которая у нас висит на перехвате onLoadInit ловит через параметр НОРМАЛЬНЫЙ мувик (я про mc:MovieClip), со всеми свойствами, к-рые, в добавок, можно смело изменять. А вот таргет, который указан в loadClip, не обладает всеми этими свойствами.
stainwoortsel, отредактируйте свой пост и оформите код тегами .
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.