PDA

Просмотр полной версии : Как выстроить картинки по сетке?


khorokhorya
06.10.2007, 23:42
Eсть код :

images // количество картинок
spacing // ширина картинки +расстояние между картинками

/////////////////////////////////////////

for (i=0; i<images; i++) {

//создаём в мувке thumbnails пустой мувиклип
this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i, i);

// его координата по x равна текущему images умноженному на spacing
this.thumbHolder._x = i*spacing

Вопрос, как, перебирая все images , выстроить их НЕ в ширенгу, а в сетку, 5X5 например, в ячейках которой imades, если картинки квадратные?

DarkLight
06.10.2007, 23:59
Собственно, сделать вложенный цикл, и по нему считать _x, а внешний цикл будет менять _y

khorokhorya
07.10.2007, 00:03
а уменя что то не получается со вложенным циклом((( есть какие нить примеры?

DarkLight
07.10.2007, 00:08
//Строим квадрат images на images размером
for (i=0; i<images; i++) {
//создаём в мувке thumbnails пустой мувиклип
for (var j=0;j<images; j++) {
this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i+"_"+j, thumbnails.getNextHighestDepth());
this.thumbHolder._x = j*spacing;
this.thumbHolder._y = i*spacing;
}
}

khorokhorya
07.10.2007, 00:16
а если мне нужно квадрат 5x5? как же у меня получится квадрат images на images , если images , это всё , что есть, получится ширенга....

DarkLight
07.10.2007, 00:24
ну я для примера...если надо считать прямо сторону из общего количества, то надо писать что-нибудь вроде i<Math.round(Math.sqrt(images)) и т п

khorokhorya
07.10.2007, 00:57
у меня получилось вот таким способом, правда если работ меньше , он пишет в окно аутпут , что не нашёл остальные работы, как интересно теперь остановить этот цикл, если i достигнет images?


i = 0;
// проходим циклом по массиву
for (k=0; k<5; k++) {
for (h=0; h<5; h++) {



//создаём в мувке thumbnails пустой мувиклип с названием thumbnail и глубиной
this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i, i);

// его координата по x и y
this.thumbHolder._x = h*spacing;
this.thumbHolder._y = k*spacing;


i++;
}
}

DarkLight
07.10.2007, 01:03
i = 0;
flag = false;
// проходим циклом по массиву
for (k=0; k<5; k++) {
if(flag){
break;
}
for (h=0; h<5; h++) {



//создаём в мувке thumbnails пустой мувиклип с названием thumbnail и глубиной
this.thumbHolder = thumbnails.createEmptyMovieClip("thumbnail"+i, i);

// его координата по x и y
this.thumbHolder._x = h*spacing;
this.thumbHolder._y = k*spacing;


i++;
if(i == images){
flag = true;
break;
}
}
}

Kikasso
07.10.2007, 02:01
Посмотри внимательно начиная с 12 строчки.
Собственно, вот:

mc._x = (i % numX )*stepX;
mc._y = Math.floor( i / numX) * stepY;