Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как выстроить картинки по сетке? (http://www.flasher.ru/forum/showthread.php?t=101992)

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

Вложений: 1
Посмотри внимательно начиная с 12 строчки.
Собственно, вот:

Код:

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



Часовой пояс GMT +4, время: 19:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.