我正在尝试获取 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:
Best Answer-推荐答案 strong>
CCTexture *texture = [CCTexture textureWithFile:image];
这里的图片必须是 NSString 而不是 UIImage。 The reference会告诉你的。
改用这个方法:
- (id)initWithCGImageCGImageRef)cgImage contentScaleCGFloat)contentScale
像这样:
CCTexture *texture = [[CCTexture alloc] initWithCGImage:image.CGImage
contentScale:image.scale];
关于ios - CCSprite 与来自 cocos2d v3 中 URL 的图像,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/22687145/
|