因未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'sprite的纹理无效'

时间:2011-03-13 13:46:59

标签: iphone xcode cocos2d-iphone

解决上述错误的问题。我正在制作一个简单的滑块拼图,其中我添加了中/硬级别。简单级别根本不会产生任何问题,但是当我选择介质或硬盘时,偶尔会抛出此错误。 60%的时间他们工作正常但随后应用程序崩溃了。

我不明白的是,它适用于简单的级别,但添加中等级别会出现问题。如果有人想看看代码,那就是代码。

NSString *name = [NSString stringWithFormat:@"%d.jpg",imgValue];
CCTexture2D * texture = [[CCTextureCache sharedTextureCache] addImage:name];
NSMutableArray *imgFrames = [NSMutableArray array];

for (int i = 0; i < 5; i++) {
    for (int j = 4; j >= 0; j--) {
        CCSpriteFrame *imgFrame = [CCSpriteFrame frameWithTexture:texture rect:CGRectMake(i*56, j*56, 56, 56) offset:CGPointZero];
        [imgFrames addObject:[NSDictionary dictionaryWithObjectsAndKeys:imgFrame, @"frame", [NSNumber numberWithInt:[self hashOfXY:i y:size.height-1-j]], @"check", nil]];

这是它在标题中抛出的唯一错误。如果有人能帮助我做得很好。

干杯

1 个答案:

答案 0 :(得分:0)

很可能在某些时候清除了纹理缓存。如果代码在那里无意中清除了缓存,请检查applicationDidReceiveMemoryWarning。