1

我使用了 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];

提前致谢。

4

2 回答 2

1

顺序是:

 CCImage::initWithImageData(void* pData, int nDataLen, ...)
 CCTexture2D::initWithImage(CCImage* uiImage);
 CCSprite::initWithTexture(CCTexture2D* pTexture);

或在 iPhone 中

从任何 url 获取数据

  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];
于 2012-10-19T10:38:21.770 回答
0

查看我关于使用 Cocos2D 创建网络摄像头查看器的教程。文章的第二部分解释了异步图像下载以加快速度。示例项目可通过 MIT 许可证免费下载。

于 2012-10-19T16:27:01.003 回答