Показать сообщение отдельно
Старый 04.12.2012, 15:15
SomeWater вне форума Посмотреть профиль Отправить личное сообщение для SomeWater Найти все сообщения от SomeWater
  № 9  
Ответить с цитированием
SomeWater

Регистрация: Jul 2009
Сообщений: 15
Спасибо за ответы

Цитата:
Сообщение от dark256 Посмотреть сообщение
http://vk.com/app1988560
А так - нельзя? Без Стэджа3д и прочих наворотов?
Если вершин до 500, то все нормально работает. Проблемы только по причине наличия деревьев в 10 тыс. листьев, тут точно нужно какое то нестандартное решение.

Цитата:
Сообщение от Волгоградец Посмотреть сообщение
Stage3D тут не нужен. Это же не динамическое приложение. Sintesis дело говорит. Одних только картинок на 10 тыс листьев будет огромное количество. Поэтому придется постоянно загружать/выгружать данные. С этим лучше справится старая добрая битмапдата с возможность очищать мгновенно память.
Возможно. В stage3D я не специалист, поэтому только предположил, что это поможет. В принципе, я бы обошелся простым битмапом, как вы пишете, но не знаю как быстро рисовать на нем линии. Т.е. если рисовать линии как цикл, что то вроде:
Код AS3:
// для каждой видимой в данный момент линии связи рисуем её отрезок:
for(var i:int = startCoord; i < endCoord; i++)
  if(horizontalLine)
       bitmapData.setPixel32(i, constantCoord, color)
  else
       bitmapData.setPixel32(constantCoord, i, color)
то получится очень медленно. Я не пробовал, но скорей всего будет даже медленнее, чем с использованием стандартных DisplayObject-ов для элементов дерева. Потому что вершин 10 тыс., а связей между ними к примеру уже 30 тыс., каждая связь это до 3-х отрезков