删除未使用的纹理时游戏场景闪烁

时间:2012-07-05 08:26:03

标签: iphone ios cocos2d-iphone

我是cocos2D编程的新手。在我的代码中我写 [[CCTextureCache sharedTextureCache] removeUnusedTextures]; 删除未使用的纹理。当纹理被移除时,游戏场景闪烁了几分之一秒。如何解决这个问题。我知道我做错了什么?..

我在创建精灵时使用此代码。

spriteEnemyGlider = [CCSprite spriteWithFile:@"enemyGlider.png" rect:CGRectMake(0,0,79,21)];

当删除它时,在控制台中打印

cocos2d: CCTextureCache: removing unused texture: enemyGlider.png

闪烁发生。

我做错了吗?

1 个答案:

答案 0 :(得分:0)

您不希望在游戏过程中删除未使用的纹理。将其留给更改场景的情况。特别是如果它是一种常见的纹理,那么从内存中删除它会适得其反,因为cocos2d必须再次加载它,这需要时间。

我敢打赌,你的闪烁问题来自于removeUnusedTexture方法花费了不同寻常的时间,或者只是为了在一瞬间重新加载它而删除了纹理。