我正在尝试获取 Facebook 个人资料图像,但我无法将从 Facebook 获取的数据转换为纹理,
NSData *data = [NSData dataWithContentsOfURL:url];
UIImage *image = [UIImage imageWithData:data];
NSLog(@"sprite nao existe");
//convert UIImage to CCSprite
**CCTexture *texture = [CCTexture textureWithFile:image];**
CCSprite *sprite = [CCSprite spriteWithTexture:texture];
sprite.position = ccp(winWidth*.5, winHeight*.5)
在 CCTexture *text... 行中,我收到此警告,这使模拟器停止/崩溃:
Incompatible pointer types sending 'UIImage' to parameter of type NSString
这是日志中模拟器停止时的消息
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'TextureCache: fileimage MUST not be nil'
*** First throw call stack:
最佳答案
CCTexture *texture = [CCTexture textureWithFile:image];
这里的图像必须是 NSString 而不是 UIImage。 The reference会告诉你的。
改用这个方法:
- (id)initWithCGImage:(CGImageRef)cgImage contentScale:(CGFloat)contentScale
像这样:
CCTexture *texture = [[CCTexture alloc] initWithCGImage:image.CGImage
contentScale:image.scale];
关于ios - cocos2d v3 中带有来自 URL 的图像的 CCSprite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22687145/