2

我正在使用层的 init 中的 SDWebImage 下载图像。

像这样的东西:

    NSURL *thumbnailURL = playerFacebookID.stringValue;        
    [[SDWebImageManager sharedManager] downloadWithURL:thumbnailURL
                                              delegate:self
                                               options:0
                                               success:^(UIImage *image) {
                                                   CCTexture2D *texture = [[CCTexture2D alloc] initWithCGImage:[[image resizeAndCropToSize:CGSizeMake(kThumbnailSizeInPixels, kThumbnailSizeInPixels)] CGImage] resolutionType:kCCResolutioniPhone];
                                                   localPlayerThumbnail.texture = texture;
                                                   [texture release];
                                               }
                                               failure:nil];

图像可以正常加载并且可以正常工作,但是在块启动后的一段时间内出现了 Open GL 错误,如下所示:

OpenGL error 0x0506 in -[CCSprite draw] 544
OpenGL error 0x0506 in -[CCSprite draw] 544
OpenGL error 0x0506 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0506 in -[CCTextureAtlas drawNumberOfQuads:fromIndex:] 556
OpenGL error 0x0506 in -[CCSprite draw] 544

现在奇怪的是,即使我删除了块内的代码,基本上 SDWebImageManager 的返回块什么也不做,它仍然给出错误消息。所以它与纹理的加载或任何这些调整大小功能无关。

目前我唯一能想到的是 SDWebImageManager 正在以某种方式改变 Open GL 上下文,或者正在做一些中断 Cocos2d 绘图调用的事情。

4

0 回答 0