2011-07-23 51 views
3

我有一些动画“怪物”的游戏。动画是为每个怪物制作〜20 png的图片。所以我使用UIImageView并设置了animationImages:iOS动画效果

问题是,有时屏幕上可能会出现很多怪物(总共多达110个,最多10个不同)。所以当他们都在屏幕上同时 - 我看到动画问题(非常低fps)。

请你能给我一些建议 - 我该如何解决这个问题?

回答

2

您可以使用CoreAnimation,如this教程中所述。它很好地解释了你可以使用的所有技术来提高现在的性能(首先它不使用UIViews和标准animationImages,其次它使用了精灵(也称为纹理地图集),它不仅提高性能,但在管理图像资源方面也会让您的生活更轻松)。

也可以使用CADisplayLink创建一个game loop,您可以在其中进行所有更新。这里有几个关于SO的问题/答案来描述这一点。

+0

使用CoreAnimation不会解决CPU使用率问题,为此,您需要先将PNG图像解码为磁盘。然后,直接从磁盘加载已解码的像素数据,以限制CPU使用率。如果你一次有很多很多的动画,那么这就是你如何使它们平滑和无闪烁。 – MoDJ