![]() |
Перемещение объектов вместе с фоном
Вобщем задача такая:
есть фон и множество объектов на фоне. обычное перемещение(перемещение каждого объекта отдельно) не подходит, ибо этих объектов может быть несколько тысяч и время перемещения сами понимаете может быть огромным(10000объектов*100пикселей перемещения - это уже огого)...Можно ли как то указать относительные координаты(в данном случае относительно фона) или сделать аттачинг объектов к фону? Вобщем нужен баровый график типа http://help.adobe.com/ru_RU/FlashPla...HLOCChart.html но без флекса |
"Аттачинг" конечно к фону
Скорее добавление и объектов и фона на один спрайт. А там уже в зависимости от позиции этого глобального контейнера - убирание/добавление фона и объектов, если оно надо. Бояться того, что при перемещении к концу у Вас будут координаты x > 9000 и даже больше 90 000 не стоит - проблемы с производительностью зависят от размеров области перерисовки, количества объектов, но не от величины координат. |
Цитата:
|
Выполнение функции перемещения на фоне рендеринга объекта ест исчезающе мало.
Я порекоммендовал запихать в один контейнер, предположив, что у Вас платформер и так тупо проще уследить за оъектами. А если есть проблемы с производительностью (есть или есть только предположения, кстати?) опишите чего вы конкретно делаете, может подскажу. |
Цитата:
|
Гоу сразу демку следующим постом + исходный код демки + описание задачи конкретное, а не на уровне абстракций.
|
Цитата:
А описание было - свечно-баровый график без флекса. свечей в теории может быть до полумиллиона(ограничение количества и своевременная подгрузка это позже будет). Соответственно все свечи сразу я увидеть не смогу, нужно перемещаться по графику, вот думаю как это сделать. То есть для перемещения нужно либо менять точку обзора(что не знаю возможно ли вобще или нет), либо при драге мышью перемещать каждую свечку, либо (тоже не в курсе осуществимо ли) привязать все свечи к фоновому прямоугольнику(относительные координаты?) и перемещать только его. Вобщем хотелось бы узнать: что из этого осуществимо, что проще и что быстрее? Прошу прощения, может топик тупой но просто я перехожу на АС с др. языков. Пока что еще не очень вкуриваю возможности языка |
Если у вас уже скролится график, вы можете запомнить координаты каждой свечи, и при скролле, если мы дотянули график до такой-то координаты, можно отобразить свечу.
К примеру: Длинна графика 5000 пихелей. Ширина сцены - 640 , следовательно отображаем изначально все свечи с 0 <= x <= 640. При перемещении по графику отображаем свечи в соответствии с текущими координатами, а те что не вписываются в них - убираем со сцены. |
Цитата:
задача в том каким образом организовать перемещение по графику а отображение/скрытие это из другого леса |
Цитата:
Общий совет: - сделайте 500 000 точек (хоть с помощью Math.random, хоть любой другой функцией) - посмотрите реальные тормоза - а уже потом что-то делайте и смотрите стало лучше или нет. Просто без реальных тестов пытаться оптимизировать (особенно отрисовку, а не алгоритмы) - дело безнадёжное - есть неслабые шансы сделать ещё медленне :) Один совет: - если всё Вы это сделали и fps падает при простом проведении мыши - значит надо убирать объекты за пределами видимости с экрана, если при проведении мыши над свечками - ни просадки fps - ни нагрузки на процессор - то не факт что поможет - рендерится то ведь только то уместилось на экране, а считается для мыши всё что уместилось и что не уместилось. |
| Часовой пояс GMT +4, время: 19:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.