时间:2011-07-02 00:01:39

标签: objective-c cocoa macos animation drawing

我要做的是在屏幕上放置许多小矩形(最多数千个)随机移动。

我有这个问题背后的机制(在确定运动的坐标方面),但我无法找出绘制形状或模拟其运动的最佳方法。

我尝试过的一些策略,首先是将NSView子类化(这是在Mac上)并创建了数千个这样的策略。然后我改变了他们的drawRect:函数,以便在自己内部绘制一个正方形。然后,只需更改位置即可移动它们非常简单。然而,由于分配了数千个实例,性能显然很糟糕。

我尝试了一种不那么面向对象的路线,只是使用NSRectFill来绘制数千个矩形。但是,我很难实现我需要的运动,尽管速度非常快。

有没有人对如何成功创建此动画有任何建议?

2 个答案:

答案 0 :(得分:2)

Layers and Core Animation是该平台的最佳方法。

答案 1 :(得分:1)

CoreAnimation的数千个矩形可能太多了。你应该考虑使用OpenGL。