我试图加载一个NSMutableArray中包含的纹理,但是我收到了这个错误:
由于未捕获的异常终止应用' NSInternalInconsistencyException',原因:'精灵的纹理无效'
这就是我尝试在可变数组中引用我的纹理的方式:
background = [CCSprite spriteWithTexture:[loadedTextures objectAtIndex:0]];
这就是我生成纹理的方式:
- (void)loadAssets {
NSArray *imageNames = @[
@"bg-001.png",
@"bg-002.png"
];
for (NSString *imageName in imageNames)
{
CCTexture * tex = [CCTexture textureWithFile:imageName];
[loadedTextures addObject:tex];
}
}
答案 0 :(得分:1)
该消息表明纹理为零。这很奇怪,因为您无法在数组中存储nil
值。这留下了loadedTextures
本身就是nil
的可能解释。
检查此(或类似)行是否初始化数组:
loadedTexture = [NSMutableArray array];
这必须在填充loadedTextures
数组的for循环之前。