Форум 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=142271)

in4core 16.07.2010 18:14

научите дурака правильно составлять сетку из клипов через циклы
 
)))
Код AS1/AS2:

var FFF = 0
for (var i = 0; i < 5; i++) {
                for (var j = 0; j < F_ID_ARR.length / 5; j++) {
 
                                var mc = frt.CON.attachMovie("cont_fr", "cont_fr" + FFF, frt.CON.getNextHighestDepth());
                                mc._x = i * (frt.CON.cont_fr0._width + 20);
                                mc._y = j * (frt.CON.cont_fr0._height + 20);
                                FFF++;
 
 
 
                }
        }

Естественно такая запись некорректна . хотя работает , но опять не так как надо.

Вообщем сделать нужно следующее :

чтобы пустые места всегда отсавались на посл строке. А сейчас, пустые места остаются по вертикали соотв, тоесть если длинна 95 то заполнено все, если 96, то пустые дырки в 5 столбце и соотв а посл 4х строках. А Нужно рассматривать только посл строку. Спасибо заранее

rainbowrussia 16.07.2010 18:34

Попробуйте поменять _x и _y местами, то есть переменная i должна изменять _y координату, а у вас сейчас она изменяет _x координату.

in4core 16.07.2010 18:35

пробовали стало совсем неправильно выводит ваще тока пол массива

rainbowrussia 16.07.2010 18:38

Вы хотите зафиксировать (5) количество строк или столбцов?

udaaff 16.07.2010 18:40

Код AS1/AS2:

var tileListLength:Number = 123;
var tileWidth:Number = 33;
var tileHeight:Number = 12;
var jLength:Number = 10;
var iLength:Number = Math.ceil(tileListLength / jLength);
var c:Number = 0;
 
for (var i:Number = 0; i < iLength; i++)
{
        var mcY:Number = tileHeight * i;
 
        for (var j:Number = 0; j < jLength; j++)
        {
                var mc:MovieClip = attachMovie("id", "mc" + c, c);
                mc._x = tileWidth * j;
                mc._y = mcY;
 
                if (++c == tileListLength)
                        break;
        }
}


in4core 16.07.2010 18:42

udaff щас проверим. Раинбов - 5 столбцам

etc 16.07.2010 18:47

Достаточно одного цикла.

in4core 16.07.2010 18:48

удав спасибо большое. Ты математик )))

udaaff 16.07.2010 18:48

Двумя удобнее.

in4core 16.07.2010 18:48

etc как ?

Добавлено через 55 секунд
Да кстати удав, объясни мне пожалуйста мою ошибку. Просто сразу в глаза не бросается, чем отличается твой от моего. Но работает верно)))))))))))


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

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