Показать сообщение отдельно
Старый 24.04.2017, 16:47
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 6  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,282
обновлять надо только те,что видны в данный момент.В первом приближении можно считать что все итемы расположены строго плиткой и дальше прикинуть сколько их влезит во вьюпорт контейнера

Добавлено через 3 минуты
либо лучше так: начинаешь обновлять координаты и проверяешь не вылез ли текущий итем за пределы вьюпорта, как вылез - останавливаемся.

Добавлено через 11 минут
как-то так:
Код AS3:
//items - массив итемов
var curX:Number=0;//начальная позиция
var curY:Number=0;
var maxX:Number=0;//ширина контейнера итемов
var maxY:Number=0;//высота контейнера итемов
var i:uint=0;
while (curY+items[i].height<maxY && i<items.length) {
    curX+=(i>0)?items[i].width:0;
    if(curX+items[i].width>maxX) {
        curX=0;
        curY+=items[i].height;
    }
    items[i].x=curX;
    items[i].y=curY;
    i++;
}


Последний раз редактировалось undefined; 24.04.2017 в 17:00.