Показать сообщение отдельно
Старый 14.04.2014, 18:17
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 8  
Ответить с цитированием
Akopalipsis
Banned

Регистрация: Mar 2013
Сообщений: 1,864
Тут вот какое дело - я Вам советую, то, что кажется разумным, но сам я такого не делал
я говорю, как бы я сделал.
Смотрите - первое что нужно выяснить, занимает ли в памяти место, сто процентная прозрачность.
Если да, то зачем тогда иметь битмапдату разразмером 1024x600, когда на ней 300х300 только нарисовано.
Значит нужно обрезать максимум, и вычислить координаты. Это уже плюс к производительности.
Второе - с самого начала и до конца, модели частей имеют одну и туже форму, значит можно создать 36 кадров, на каждом из которых будет отрисована вся машина, но только каждый элемент своего цвета.
Допустим, большая часть - черного цвета, чуть поменьше - на одну циферку больше чем черный цвет.
Это получится карта для кликов, кликнув по по машине, Вы будете брать цвет с этих битмапдат и смотреть куда кликнули. Это даст шанс отрисовывать все части в одну битмапдату.
Битмапдаты которые с настоящей машиной перерисовывать каждый кадр смысла нет, только когда что-то изменится.
Вам нужно прям отдельные класса рендера писать. Так что лучше старлинг использовать.

Добавлено через 41 минуту
Перечитал Ваши слова ещё раз и - в массивах хранить BMD, все части одного кадра отрисовывать в одну BMD, у единственной BM менять по кадрам bmd на отрисованный кадр.