ios - cocos2d v3 中带有来自 URL 的图像的 CCSprite

标签 ios objective-c cocos2d-iphone

我正在尝试获取 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/

相关文章:

objective-c - iOS 8 中的自定义 UITableViewCells 和 layoutMargin

cocos2d-iphone - 在 cocos2d 游戏中集成 Gamecenter

ios - xcode 10b6 fabric 缺少或格式不正确的配置文件

php - iOS 发送多个推送通知

ios - UIView 上的平滑帧动画

iphone - 检测运营商连接类型(3G/EDGE/GPRS)

ios - 横向 View 显示为纵向 View

ios - 在最后一张图像处停止 UIimageview 动画

ios - iAd/google 插页式弹出窗口后应用程序卡住

iphone - cocos2d 和 MVC