Cocos2D - 在另一个类中调用方法时出现奇怪的警告

时间:2013-01-27 10:28:08

标签: ios methods cocos2d-iphone warnings

我必须上课,生存和HUDLayer。 在我的HUDLayer中我有一个SneakyButton并且使用该按钮我在Survival.m中调用一个名为 - (void)的方法,但是当我调用该方法时,我收到错误消息CCSpriteBatchNode: resizing TextureAtlas capacity from 我知道这个方法正在调用,因为我用NSLog()

检查了
-(void)fire {
NSLog(@"Fire");
}

在我的日志中它返回Fire以及那个奇怪的警告。 当我收到警告时,fps下降到30左右。有人有任何建议吗?

1 个答案:

答案 0 :(得分:1)

您可以在cocos2d内找到有关调整纹理图集大小的内容:

// if we're going beyond the current CCTextureAtlas's capacity,
// all the previously initialized sprites will need to redo their texture coords
// this is likely computationally expensive

This is the explication发生的事情:

  

精灵的内部数组正在增加,因为你正在为批处理添加更多的精灵(日志只是为了让你知道调试版本)。

子节点也计入精灵的容量极限。

您可以尝试为批次节点设置更高的限制:

[CCSpriteBatchNode batchNodeWithFile:@"myAtlas.png" capacity:100]; // capacity for 100 objects

减少发生这种情况的频率。