PDA

Просмотр полной версии : Не воспринимается параметр _width


idinfinity
18.07.2006, 19:05
Помогите пожалуйста разобраться почему не воспринимается параметр _width перед вызовом функции. В режиме отладки показывает 100, а воспринимает как 0.
Или подскажите как сделать, чтобы картинки (их названия берутся из массива ar) вставлялись друг за другом с промежутком в несколько пикселей.


var nxt:XML = new XML();
var ar:Array = null;
var i=0;// индекс текущего клипа
var z=-1;// индекс предыдущего клипа
nxt.onLoad = function (success):Void
{
ar=this.firstChild.toString().split(String.fromCharCode(0x000D)+String.fromCharCode(0x000A));
for(i=0,z=-1;i<9;i++,z++)
{
_root.createEmptyMovieClip("clip"+i+"_mc",i);
loadMovie("photo/"+ar[i]+"","clip"+i+"_mc");
if(z>=0){_root["clip"+i+"_mc"]._x=_root["clip"+z+"_mc"]._x+_root["clip"+z+"_mc"]._width+5;}
}
}
nxt.load("photo/spisok");

iNils
18.07.2006, 19:12
idinfinity, вам устное предупрежедние за не использование тегов для кода. Если не исправите сами, то предупреждение будет не устным. Время пошло.

WW_
18.07.2006, 20:54
Не уверен, но, по-моему, картинки просто не успевают загрузиться в созданные для этого клипы. Потому ширина клипов в момент вызова этого свойства - нулевая.
Не проще ли сделать описание картинок (с указанием ширины и высоты в xml-файле), потом грузить xml, потом грузить и отображать картинки как надо.

motor4ik
18.07.2006, 21:03
Не уверен, но, по-моему, картинки просто не успевают загрузиться в созданные для этого клипы. Потому ширина клипов в момент вызова этого свойства - нулевая.
Не проще ли сделать описание картинок (с указанием ширины и высоты в xml-файле), потом грузить xml, потом грузить и отображать картинки как надо.


правильно одно, то что ширина нулевая не успевает подгрузится картинка,


мувиклип примет ширину картинке при загрузке ниче не надо хранить!

idinfinity
19.07.2006, 07:37
у меня тоже было такое предположение, а как отследить, что картинки уже загрузились? (извините, знаю, что вопрос простой)

motor4ik
19.07.2006, 08:38
MovieClip.onLoad=function(){}

iNils
19.07.2006, 10:51
MovieClip.onLoad=function(){}Ээээ, а ты не в курсе, что както только картинка загрузится, событие onLoad слетает, не успев сработать?

motor4ik
19.07.2006, 11:11
что значит слетает не успев сработать?

iNils
19.07.2006, 11:41
Создай мувиклип, повесь на него этот обработчик с трейсом, и попробуй в него что-нить загрузить и получить трейс в конце.

motor4ik
19.07.2006, 11:42
не знаю о чем реч, но у меня галлерея целая написана на onLoad

iNils
19.07.2006, 11:57
не знаю о чем реч, но у меня галлерея целая написана на onLoad
Покажи :) Не галлерею конечно, а работающий пример.

idinfinity
19.07.2006, 12:20
всем спасибо, проблема решена:)

etc
19.07.2006, 13:47
Моторчик, по-твоему это работает:

my_mc = this.createEmptyMovieClip("my_mc",0);
my_mc.onLoad = function () {
trace('I\'m loaded!');
}
my_mc.loadMovie('any.swf');

?