![]() |
Как заэдчаилдить 1 000 000 квадратов.
Здравствуйте. Мне нужно на сцену добавить 1 000 000 квадратов 150х150 пикселей, но естественно начинает всё лагать. Подскажите как это исправить. Может заставить их исчезать при выходе за пределы сцены.
P.S. Все они находятся в контейнере MovieClip, который перетаскивается. |
Если они не двигаются по отдельности (не вращаются относительно своей оси допустим), можно использовать .cacheAsBitmap = true
линк |
Давайте начнем с вопроса: "ЗАЧЕМ может понадобиться добавлять на сцену лям спрайтов?"
|
Цитата:
KumoKairo, нет они двигаются все вместе и не вращаются, а как использовать .cacheAsBitmap = true. |
Ну тогда я бы ответил, но это тоже секрет.
|
Контейнер зуммируется.
|
И еще - я более чем уверен что абсолютно не обязательно их добавлять на сцену. Вариантов решения вопроса куча, но знать бы собственно вопрос.
|
Цитата:
|
Dukobpa3, мне нужно чтобы они перетаскивались и масштабировались.
|
Добавляете картинки в MovieClip, после чего на этот родительский MovieClip применяете cacheAsBitmap = true;
Код AS3:
|
миллион никак. Забудьте. Надо при зуммировании правильно отображать то что видно.
|
Мой вопрос остается в силе.
Озвучте полный кейс и получите адекватный ответ. А мульен клипов как бы вы не добавляли - все-равно будет висеть. С этим остается только смириться. Скорее всего как минимум не весь мульен одновременно должен быть на екране. Есть еще пути для оптимизации. |
Цитата:
Надо убирать элементы вне экрана. Я уж про память не говорю и про то, что вряд ли оно впишется в максимальные размеры битмапы. Надо убирать из списка отображения то, что вне экрана. Сам массив/вектор из 1 000 000 элементов-спрайтов в принципе создать можно (по крайней мере 100 000 примитивнейших спрайтов у меня проблем не вызывало), а вот в списке отображения их держать не надо Если в отзуме надо показывать большую часть этой сетки (или всю) - делайте другие квадраты 150x150, в которые предварительно отрендерите, например сетку 10x10 и подменяйте эти 10x10=100 квадратов одним при отзуме (гугл-карты же не грузят и тем более не показывают уменьшенные в 10000 раз куски с наивысшим разрешением, когда вы материки целиком рассматриваете) |
миллион? смешно
|
Дай угадаю - у вас карта :) Показывайте только то, что видит пользователь ну и еще то, что он может увидеть в следующий миг при перемещении основного мувиклипа. Масштабирование - размеры квадратов, перемещение - координаты. Вся загвоздка в создании модели взаимного изменения этих характеристик.
|
Если карта, то там не надо миллион кусочков, там нужно грамотно показывать и масштабировать. Т е иметь разрезаную одну и ту же карту в разном масштабе и подгружать когда нужно необходимые куски.
|
| Часовой пояс GMT +4, время: 09:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.