我目前的计划是通过继承NSView来绘制矩形,但这对于我正在尝试做的事情来说似乎是一种非常低效的方式,即绘制一堆固定的,非重叠的矩形,这些矩形会改变颜色一会儿。有没有更好的办法?感谢。
答案 0 :(得分:1)
您可以尝试使用CALayer
,如下所示:http://theocacao.com/document.page/555。
答案 1 :(得分:1)
如果它们的颜色或图像完全相同,您可能会发现单个CGLayer效率更高。该API的目的是多次绘制相同的东西。
另一方面,如果矩形独立移动或者上面有不同的颜色或图像,Core Animation绝对是最佳选择。
答案 2 :(得分:0)
核心动画对于游戏来说是一项很棒的技术,但是如果你想暂时坚持使用NSView,你可以创建一个类似于NSCell的类,游戏板视图用它来实现定位和绘图。这与许多Cocoa控件类的工作方式类似,后者使用单个单元格(具有不同的值)在视图中绘制多个项目。
请记住,使用单个NSView对象可能非常快,但无论速度如何,此策略都允许您以有意义的方式分离逻辑。