Cocos2d动画闪烁

时间:2010-08-15 17:15:20

标签: iphone cocos2d-iphone animation

我有一个使用CCAnimate动画的精灵。动画由4个spritesheets组成,我需要时交换它们。一切都很好,除了交换spritesheets时的一些闪烁。

关于该做什么的任何想法?

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,以防任何人感兴趣。

在CCAnimation对象之间切换时似乎是一个延迟,这使得帧在一瞬间变为空白。解决方法是在抛弃旧动画之后立即手动将精灵设置为即将到来的动画的第一帧。

更多信息: http://www.cocos2d-iphone.org/forum/topic/8729

答案 1 :(得分:0)

您是否使用CCTextureCache的addImage预加载spritesheets?如果没有,那么每当你第一次切换到spritesheet时,你都会注意到延迟。

此外,除非您的精灵表格太大以至于无法将所有动画都放入1024x1024纹理中,否则您应该将所有精灵放入一张图片中,而不是使用多张像(例如四张256x256精灵表格)。你几乎没有从中获得任何东西,最糟糕的是你失去了spritesheets的好处,因为只要你从两个不同的spritesheets渲染,它将是两个绘制调用而不是一个。纹理图集不是用于组织动画,而是尽可能地将所有图形尽可能少地保留在纹理中。