Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли как-то загрузить 500к элементов. (http://www.flasher.ru/forum/showthread.php?t=135353)

Tr1te 21.01.2010 14:59

Можно ли как-то загрузить 500к элементов.
 
Хочу в один муви клип загрузить 500 000 кнопок, чтобы каждая выполняла определенные действия при нажатии.
Я пробовал создавать муви клип как огромный, по размеру слой, И в него добавлял кнопки(муви клипов), максимум на что комп способен, это 50к-100к кнопок. А нужно раз в 10 больше. Если ли какие либо обходные возможности.
Например я создал мувиклип, в который вставлял вручную картинку, после чего программно добавлял 10000 мувиклипов, которые добавлялись 400 мс, а если вручную добавить 10 картинок в муви клип, а потом этот мувиклип добавить 10000 раз, то он это делает те же 400 мс. То есть получается что всего 100000 картинок. А как кнопки их сделать можно просто область проверять в которой находится курсор, и если он производит какието манипуляции в области, то чтото менять.
Чисто теоретически можно добавить в один мувиклип 500к картинок, и загрузить всего один мувиклип. Но в ручную добавлять 500к картинок, это безумие. А когда пробую циклом, то опять получается безумно долго.

Есть другие варианты?

BeDLiNt 21.01.2010 15:02

А не проще сделать одну картинку и по нажатию смотреть в какую координату тыкнули?

etc 21.01.2010 15:22

Зачем вам полмиллиона (!!) кнопок?

Партизан 21.01.2010 15:30

Цитата:

Сообщение от Tr1te (Сообщение 880898)
Есть другие варианты?

Есть, пересмотреть подход к решению задачи.

Himerets 21.01.2010 19:37

Цитата:

Зачем вам полмиллиона (!!) кнопок?
Да, интересно, куда столько можно засунуть :)

Добавлено через 2 минуты
А по-существу, действительно по-моему единственный вариант - сделать одну картинку. и при нажатии проверять куда ткнули. Если требуются эффекты при наведении - будет конечно посложней, но все равно реализуемо.

Добавлено через 4 минуты
Хотя тогда придется обрабатывать MOUSE_MOVE объекта, судя по всему невообразимых размеров. И это будет жутко тормозить. Так что от эффектов лучше отказаться ;)

Tr1te 21.01.2010 22:37

Карта навигации c Deep zoom'ом, будут города, при наведении на которые, появляться справка (будут не только города). Я хотел обойтись 2 масштабами, которые можно приближать и отдалять от построек, до максимального отдаления всей карты под размер стейджа, и вот при макс отдалении как раз будут видны города(и не только) и объектов будет примерно 500к-1м. Причем карта интерактивная, так что статичной картинкой сделать не особо получается.
Есть возможность такое реализовать?

MrPoma 21.01.2010 23:47

Посмотрите как сделал Гугл.

Tr1te 22.01.2010 00:29

Да посмотрел на карту гугл. там действительно можно включать метки картинок, плюсметки википедии, в общей сложности там тонна элементов, как это они реализовали, как раз то что я хочу у вас узнать.

MrPoma 22.01.2010 02:39

Подгружайте то, что в экран попадает. Как с экрана пропадет - удаляйте.

Tr1te 22.01.2010 09:28

Хм, ну без этого то никак, это и так понятно, вопрос в другом, при максимальном отдалении в экран попадает - все. Так что по любому будет тонна объектов, видимо выход один, делать максимальное отдаление так чтобы объектов было не более 5к.

Gaen 22.01.2010 09:40

При максимальном отдалении иконки элементов всё равно будут налезать друг на друга, так что можно скажем сотню кнопок заменить на одну, а для неё выводить информацию по всем элементам, которые там собраны. Соответственно при приближении кнопка рассыпается на элементы.

leofit 22.01.2010 09:53

А если создать одну картинку - карту, и координатно распределить над ней мувиклипы (города и прочее).
Мувиклипам выставить уровевнь зума.
При клике мыши считывать координаты и подгружать соответствующую графику. Например при максимальном удалении показываются 10 самых крупных городов, при максимальном приближении - кусок карты + все объекты, попавшие в экран.

proxiServer 22.01.2010 11:44

Очевидно нужна реализация слоев.

Dimitry_II 22.01.2010 17:40

В картах обычно отображение не прямолинейно - что попало, то и видим, - а более сложное: каждый тип объектов имеет свойство отображения себя только в определенном диапазоне масштабов. К примеру, реки могут быть "от и до", наиболее крупные города от очень малого масштаба до нескольких миллиметров в диаметре - как точка (кружочек), при большем отображение города уже не идет, отображаются крупные улицы. И так далее, главное - "умная" система отображения и хорошо спроектированная база данных.

Tr1te 22.01.2010 21:02

Да придется повозиться, видимо самый грамотный вариант, при максимальном отдалении, надо оставлять только крупные объекты.
А по поводу одной картинки, опять таки не могу, потому что меняется динамически, значит все время картинка будет меняться.

alatar 23.01.2010 05:21

Цитата:

Сообщение от Tr1te (Сообщение 881127)
Хм, ну без этого то никак, это и так понятно, вопрос в другом, при максимальном отдалении в экран попадает - все. Так что по любому будет тонна объектов, видимо выход один, делать максимальное отдаление так чтобы объектов было не более 5к.

Вы себе эту кашу на экране монитора представляете? Зачем пользователю 5000 объектов одновременно? Оставьте 10-20 самых крупных.

Tr1te 23.01.2010 08:51

Цитата:

Сообщение от alatar (Сообщение 881335)
Вы себе эту кашу на экране монитора представляете?

Конечно представляю, попробуйте в гугл мэпс включить фотографии на карте и одновременно викиметки. Вот именно такая каша мне нужна. :)


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

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