![]() |
|
||||||||||
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
собственно думал, думал...видимо плохо думал, но так и не дошло как сделать инвентарь... Мне необходимо реализовать следующее:
при перетаскивании предметов в инвентарь они должны ложиться туда не там где кнопку мыши отпустили, а слева-направо, сверху-вниз. Для этого нужно отслеживать есть ли предметы в инвентаре, если есть - искать место для предмета который хотят перетащить, иначе пихать в левый верхний угол инвентаря... Проблема с проверкой что есть в инвентаре и с поиском места... чем нужно пользоваться чтобы делать это? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Всё же зависит от того, как именно у Вас реализован инвентарь)
Допустим, есть массив объектов, а может быть это XML или вообще простой Обжект. Но допустим массив - при отпускании объекта над полем клипа инвентаря Вы добавили push'ем объект в этот массив и перерисовали клип инвентаря в соответствии с новым массивом. Или у Вас что-то конкретное не получается?
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
есть ХМЛ, в нем указаны параметры объектов и откуда грузится изображение самих объектов...
"при отпускании объекта над полем клипа инвентаря Вы добавили push'ем объект в этот массив и перерисовали клип инвентаря в соответствии с новым массивом" так наверно и сделаю, но вот не разобрался с математической частью - как отыскать объекту который хотят сунуть в инвентарь свободное место? Брать размеры всех вещей которые есть в инвентаре.. а дальше что? |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Определение места должно быть в функции, отрисовывающей содержание массива!
Объект добавили в массив, и ПОЛНОСТЬЮ по-новой перерисовали клип инвентаря, соответственно объект займет последнее свободное место. Проще всего если для иконки каждого объекта предусмотрена одна ячейка с известным размером. Но если и нет, ничего сложного. При аттаче иконок суммируете их ширину и проверяете оставшееся место. Вот при разной высоте иконок будут сложности. Лучше этого избежать. pS : про XML я говорил не как про отдельный файл, а как про объект XML в памяти флэшки во время выполнения - это тоже способ хранить список, в каком-то смысле аналог массива.
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
вот как раз из-за того что разная высота у иконок и возникает проблема =(
"Проще всего если для иконки каждого объекта предусмотрена одна ячейка с известным размером" а вот это исключено...инвентарь представляет из себя просто некое пространство Последний раз редактировалось CROL; 07.12.2008 в 23:26. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Однако Вы же не думаете, что можно, не сжигая процессор, раскидать по этому пространству скажем, 50 клипов совершенно разного размера, заполнив его максимально плотным (оптимальным) образом? Я, честно сказать, сразу даже не соображу как бы так сделать)))
Но вот так могу... Высота каждой строки будет такой, чтобы влезла самая высокая иконка в этой строке...
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Dec 2007
Сообщений: 102
|
Спасибо, Wolsh, не совсем то что нужно, но тоже сойдёт
) |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|