0

我想从我的主页上获取一张照片并显示它。它(有点)有效。但有时由于这里发生的事情,加载下一个场景需要至少 10 秒。所以这就是我所做的:

            NSString *myURL = [PICURL stringByAppendingString:[[[[levelConfig objectForKey:category] objectForKey:lSet] objectForKey:levelString] objectForKey:@"pic"]];
            UIImage *dYKPic = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:myURL]]];

            if(dYKPic == nil){
                NSString *defaultURL = @"http://www.exampleHP.com/exampleFolder/default.jpg";
                dYKPic = [UIImage imageWithData: [NSData dataWithContentsOfURL: [NSURL URLWithString:defaultURL]]];
            }

                CCTexture2D *tex = [[CCTexture2D alloc] initWithImage:dYKPic];
                CCSprite *image = [CCSprite spriteWithTexture:tex];
                image.anchorPoint = ccp(0,0);
                image.position = ccp(32,216);
                [self addChild:image z:2];

所以,这需要 10 秒,此外,加载 default.jpg - 即使图片存在 - 但只是在需要很长时间的情况下...... 70%的情况下它工作正常......所以怎么了 ?我在哪里释放 tex ?添加孩子后立即?

4

1 回答 1

0

它必须加载图片。这就是问题所在。您要么需要加载和缓存它、存储它,要么在需要它之前预加载它。

或者最后一个选项是异步加载它,并在完成后更新您的视图。

于 2012-05-27T19:28:59.470 回答