精灵的纹理无效

时间:2014-03-31 11:19:33

标签: objective-c cocos2d-iphone

我试图加载一个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];
        }
    }

1 个答案:

答案 0 :(得分:1)

该消息表明纹理为零。这很奇怪,因为您无法在数组中存储nil值。这留下了loadedTextures本身就是nil的可能解释。

检查此(或类似)行是否初始化数组:

loadedTexture = [NSMutableArray array];

这必须在填充loadedTextures数组的for循环之前。