我使用CCSprite并使用函数spriteWithFile
提供项目中存在的图像。现在我想从服务器下载图像并将其加载到cocos2D游戏场景中的CCSprite上。什么是好的选择。请建议。
我正在使用此代码而不能正常工作:
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://50.62.138.228:6026/1370user.jpg"]]];
NSURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
CCTexture2D *texture = [[CCTexture2D alloc] initWithData:responseData
pixelFormat:kCCTexture2DPixelFormat_RGBA8888
pixelsWide:50
pixelsHigh:50
contentSize:CGSizeMake(50, 50)];
sprite_Temp = [CCSprite spriteWithTexture:texture];
sprite_Temp.position=ccp(432,273);
[self addChild:sprite_Temp z:5];
提前致谢。
答案 0 :(得分:1)
顺序是:
CCImage::initWithImageData(void* pData, int nDataLen, ...)
CCTexture2D::initWithImage(CCImage* uiImage);
CCSprite::initWithTexture(CCTexture2D* pTexture);
或在iphone中
从任何网址获取数据
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://sdufhs.com/img.png"]]];
NSURLResponse *response;
NSError *error;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *strResponse = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
您可以以数据形式获取数据......
NSData *imgData = UIImagePNGRepresentation(image);
CCTexture2D *texture = [[CCTexture2D alloc] initWithData:imgData
pixelFormat:kTexture2DPixelFormat_RGBA8888
pixelsWide:width2
pixelsHigh:height2
contentSize:size];
CCSprite *sgfd = [CCSprite spriteWithTexture:texture];
答案 1 :(得分:0)
查看我的tutorial on creating a Webcam viewer with Cocos2D。本文的第二部分介绍了异步图像下载以加快速度。可以使用MIT许可证免费下载示例项目。