Как лучше всего нарисовать кучу (~ 200) цветных прямоугольников в какао? - PullRequest
1 голос
/ 18 апреля 2009

Мой текущий план состоит в том, чтобы рисовать прямоугольники с помощью подкласса NSView, но это кажется очень неэффективным способом для того, что я пытаюсь сделать, а именно нарисовать набор фиксированных, не перекрывающихся прямоугольников, которые меняют цвета один раз какое-то время. Есть ли способ лучше? Спасибо.

Ответы [ 3 ]

1 голос
/ 18 апреля 2009

Если все они одного цвета или изображения, вы можете найти один CGLayer более эффективным. Цель этого API - рисовать одно и то же много раз.

С другой стороны, если прямоугольники перемещаются независимо друг от друга или имеют разные цвета или изображения, Core Animation, безусловно, поможет.

1 голос
/ 18 апреля 2009

Вы можете попробовать использовать CALayer s, вроде как: http://theocacao.com/document.page/555.

0 голосов
/ 18 апреля 2009

Core Animation была бы отличной технологией для игры, но если вы хотите на время придерживаться NSView, вы можете создать класс, похожий на NSCell, который вид игровой доски использует для реализации позиционирования и рисования. Это будет работать аналогично многим классам управления Какао, которые используют одну ячейку (с разными значениями) для рисования нескольких элементов внутри представления.

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

...