Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I have just implemented multiple photo selection from iphone photo library and i am saving all selected photo in document directory every time as a array, now i want to show all saved images in my class from document directory as a thumbnail, i have tried some logic but my game getting crashing, My code is below. Any help will be appreciate. Thanks in advance.

-(id) init
{
    // always call "super" init
    // Apple recommends to re-assign "self" with the "super" return value

    if( (self=[super init])) {

        CCSprite *photoalbumbg = [CCSprite spriteWithFile:@"photoalbumbg.png"];
        photoalbumbg.anchorPoint = ccp(0,0);
        [self addChild:photoalbumbg z:0];

        //Background Sound
    //    [[SimpleAudioEngine sharedEngine]playBackgroundMusic:@"Background Music.wav" loop:YES];

        CCSprite *photoalbumframe = [CCSprite spriteWithFile:@"photoalbumframe.png"];
        photoalbumframe.position = ccp(160,240);
        [self addChild:photoalbumframe z:2];

        CCSprite *frame = [CCSprite spriteWithFile:@"Photo-Frames.png"];
        frame.position = ccp(160,270);
        [self addChild:frame z:1];

        /*_____________________________________________________________________________________*/

        CCMenuItemImage * upgradebtn = [CCMenuItemImage itemFromNormalImage:@"AlbumUpgrade.png"
                                                              selectedImage:@"AlbumUpgrade.png" 

                                                                     target:self
                                                                   selector:@selector(Upgrade:)];
        CCMenu * fMenu = [CCMenu menuWithItems:upgradebtn,nil];
        fMenu.position = ccp(200,110);
        [self addChild:fMenu z:3];

        NSError *error;
        NSFileManager *fM = [NSFileManager defaultManager];
        NSString *documentsDirectory = [NSHomeDirectory()
                                        stringByAppendingPathComponent:@"Documents"];
        NSLog(@"Documents directory: %@",
              [fM contentsOfDirectoryAtPath:documentsDirectory error:&error]);

     NSArray *allfiles = [fM contentsOfDirectoryAtPath :documentsDirectory error:&error];

        directoryList = [[NSMutableArray alloc] init];

        for(NSString *file in allfiles) {
            NSString *path = [documentsDirectory stringByAppendingPathComponent:file];
                [directoryList addObject:file];

        }

        NSLog(@"array file name value ==== %@", directoryList);

        CCSprite *temp = [CCSprite spriteWithFile:[directoryList objectAtIndex:0]];
        [temp setTextureRect:CGRectMake(160.0f, 240.0f, 50,50)];
       // temp.anchorPoint = ccp(0,0);

        [self addChild:temp z:10];
        for(UIImage *file in directoryList) {

//             NSData *pngData = [NSData dataWithContentsOfFile:file];
//        image = [UIImage imageWithData:pngData];
        NSLog(@"uiimage = %@",image);
        //  UIImage *image = [UIImage imageWithContentsOfFile:file];
        for (int i=1; i<=3; i++) {
            for (int j=1;j<=3; j++) {
                CCTexture2D *tex = [[[CCTexture2D alloc] initWithImage:file] autorelease];

                CCSprite *selectedimage = [CCSprite spriteWithTexture:tex
                                                                 rect:CGRectMake(0, 0, 67, 66)];
                selectedimage.position = ccp(100*i,350*j);
                [self addChild:selectedimage];
            }
        }
         }

    }

    return self;
}
share|improve this question

closed as too localized by bummzack, Trevor Powell, Josh Petrie, Byte56, Anko Apr 10 '13 at 11:01

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

add comment

1 Answer 1

I was in same situation, after downloading image to my Documents directory, i have to use it in CCSprite. I used the function spriteWithCGImage, it worked for me. Here is my code,

    NSString *documentDirectory = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    NSString *logoImagePath = [NSString stringWithFormat:@"%@/%@", documentDirectory, @"image0.png"];
    UIImage *logoImage = [UIImage imageWithContentsOfFile:logoImagePath];
    // Then use spriteWithCGImage
    CCSprite *logoSprite = [CCSprite spriteWithCGImage:logoImage.CGImage key:nil];
share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.