Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.04.2017, 14:58
b000ris вне форума Посмотреть профиль Отправить личное сообщение для b000ris Найти все сообщения от b000ris
  № 1  
Ответить с цитированием
b000ris

Регистрация: Jul 2014
Сообщений: 36
Question как сделать список плиткой?

Подскажите пожалуйста, профессионалы, как сделать список изображений плиткой, но не по ровной сетке как в таблице? Как сделать расположение объектов в зависимости от ширины каждого изображения (высоту можно выставить одинаковую)? Нужно получить что то типа фотоальбома... Заранее спасибо.

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

Регистрация: Oct 2006
Сообщений: 2,281
Код AS3:
//items - массив итемов
var curX:Number=0;//начальная позиция
var curY:Number=0;
var maxX:Number=0;//ширина контейнера итемов
for(var i:uint=0;i<items.length;i++) {
    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;
}

Старый 24.04.2017, 14:19
b000ris вне форума Посмотреть профиль Отправить личное сообщение для b000ris Найти все сообщения от b000ris
  № 3  
Ответить с цитированием
b000ris

Регистрация: Jul 2014
Сообщений: 36
Не совсем то. Нужен динамический список, содержимое которого перестраивается при масштабировании списка. Нужно что то наподобие, как если бы использовать mx:Box для размещения там изображений. Проблема в том, что в mx:Box элементы распределяются по горизонтали/вертикали без перераспределения на следующую строку/столбец.

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

Регистрация: Oct 2006
Сообщений: 2,281
ну так и обновляй координаты при изменении размеров контейнера.

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

Регистрация: Jul 2014
Сообщений: 36
так если довести до абсурда количество элементов в контейнере, то насколько все это оптимально в плане быстродействия?

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

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

Добавлено через 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.
Старый 24.04.2017, 19:16
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 7  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
так если довести до абсурда количество элементов в контейнере, то насколько все это оптимально в плане быстродействия?
Тут как бы ответ вытекает из вопроса) Доведешь до абсурда, и у тебя получится дико тормозной велосипед
__________________
Ко мне можно и нужно обращаться на ты)

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

Регистрация: Oct 2006
Сообщений: 2,281
да не, мой велосипед вполне справится с абсурдно большим списком ибо не зависит от его размера.Только если размер контейнера до абсурда доводить никто не будет.

Старый 25.04.2017, 06:16
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 9  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Твой велосипед то справится, а вот флеш плеер нет)
__________________
Ко мне можно и нужно обращаться на ты)

Старый 25.04.2017, 09:00
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 10  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
С чем конкретно не справится? С отрисовкой небольшого кол-ва видимых итемов?

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:26.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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