![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
var bwidth = 50; // ширина блока var bheight = 50; // высота блока var alen = 26; // длинна массива, заменить на имя_массива.length var cols = 5; // фиксируем число колонок var rows = alen/cols; // вычисляем число строк if (rows != Math.floor(rows)) { rows++; } rows = Math.floor(rows); for (j=0; j<rows; j++) { // цикл по строкам for (i=0; i<cols; i++) { // цикл по колонкам var aridx = j*cols + i; // вычисляем номер элемента массива if (aridx < alen) { // если элемент укладывается в массив - изображаем его var xcoord = i * bwidth; // в таких-то координатах var ycoord = j * bheight; trace(aridx + ':' + xcoord + ':' + ycoord); } } } |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Один цикл, два инкремента, один сбрасывается по достижению конца строки.
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 560
|
Вариант с одним циклом
var bwidth = 50; // ширина блока var bheight = 50; // высота блока var alen = 26; // длинна массива, заменить на имя_массива.length var cols = 5; // фиксируем число колонок for (idx=0; idx<alen; idx++) { var row = Math.floor(idx/cols); var xcoord = (idx - row*cols) * bwidth; var ycoord = row * bheight; trace(idx + ':' + xcoord + ':' + ycoord); } Последний раз редактировалось rainbowrussia; 16.07.2010 в 18:58. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 01:00. |
|
|
« Предыдущая тема | Следующая тема » |
|
|