PDA

Просмотр полной версии : Нужна помощь с MovieClipLoader ом


rispekt
17.06.2008, 21:56
Загружаются несколько картинок.
Нужно узнать ширину каждой из них.
Как это сделать?
Я пишу так:

for (i = 0; i <= fst.length-1; i++) {
var myClip = this.attachMovie ("level1", "container"+i, this.getNextHighestDepth());
var myLoader = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function () {
trace(myClip._width);
}
myLoader.addListener(myListener);
myLoader.loadClip(fst[i], myClip.level2);
}


В итоге выдает ширину первого клипа много раз. Как быть?

MrPoma
17.06.2008, 22:15
Как быть?
Переписать без цикла.


for (i = 0; i <= fst.length-1; i++) {
var myClip = this.attachMovie ("level1", "container"+i, this.getNextHighestDepth());
var myLoader = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function (mc:MovieClip) {
trace(mc._width);
}
myLoader.addListener(myListener);
myLoader.loadClip(fst[i], myClip.level2);
}

rispekt
17.06.2008, 22:17
Написал так

for (i = 0; i <= fst.length-1; i++) {
var myClip = this.attachMovie ("level1", "container"+i, this.getNextHighestDepth());
var myLoader = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function (mc:MovieClip) {
trace(mc._width);
mc._x = Stage.width / 2 - mc._width/2;

}
}

Ширину вычисляет нормально. Но теперь перестали работать функции, привязанные к событиям клипов с картинками. на пример:


for (i = 0; i <= fst.length-1; i++) {
var myClip = this.attachMovie ("level1", "container"+i, this.getNextHighestDepth());
var myLoader = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function (mc:MovieClip) {
trace(mc._width);
mc._x = Stage.width / 2 - mc._width/2;

}
myLoader.addListener(myListener);
myLoader.loadClip(fst[i], myClip.level2);


myClip.onRollOver = function () {
this.gotoAndPlay(2);
}
}

MrPoma
17.06.2008, 22:28
Как-то так:
var current:Number = 0;
var clipLoader:MovieClipLoader = new MovieClipLoader();

onLoadInit = function(mc:MovieClip){
current ++;

loadImage();
}
clipLoader.addListener(this);

function loadImage():Void{
var url:String = 'img' + current + '.jpg';
var container:MovieClip = _root.createEmptyMovieClip('img' + current, _root.getNextHighestDepth());
clipLoader.loadClip(url, container);
}
loadImage();