OGeek|极客世界-中国程序员成长平台

标题: ios - CCSprite 与来自 cocos2d v3 中 URL 的图像 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 08:54
标题: ios - CCSprite 与来自 cocos2d v3 中 URL 的图像

我正在尝试获取 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-推荐答案


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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4