2010-04-02 6 views
0

Je veux créer une animation d'image, j'ai 50 images avec le format png maintenant je veux définir le nom des images ... quelque chose comme ça, mais ne marche pas!Détecter le même nom d'images {iPhone SDK}

mon nom d'images sont: iamge_0000 to image_0050

pasheAnimation.animationImages = [NSArray arrayWithObjects: 
            [UIImage imageNamed:@"pashe_0000.png"],nil]; 

    [pasheAnimation setAnimationRepeatCount:5]; 
    pasheAnimation.animationDuration = 4; 
    [pasheAnimation startAnimating]; 

??!?!?

code jason [edited]:

NSMutableArray* myImages = [[[NSMutableArray alloc] initWithCapacity:607] autorelease]; 
    for(int i = 1; i <= 607; i++) { 
     [myImages addObject:[UIImage imageNamed:[NSString stringWithFormat:@"p%d.png",i]]]; 
    } 

    butterflyView.animationImages = myImages; 
    [butterflyView setAnimationRepeatCount:100]; 
    butterflyView.animationDuration = 0; 
    [butterflyView startAnimating]; 
+0

Vous devez modifier le format de chaîne pour représenter réellement le nom de votre image. Donc, si votre image s'appelle pashe_0000.png, votre format de chaîne doit être pashe_% 04d.png - c'est très important. Aussi, avez-vous vraiment 608 images? –

+0

Jason, j'ai changé mes noms de fichiers et les ai changés en p1 à p607 mon accident de l'application à nouveau .. qui me rend fou !!!! : @ ouais c'est animation courte PLZ aide moi – Momi

+0

je édite mon code à nouveau. Jetez un oeil – Momi

Répondre

2
// There are actually 51 images in this series (0000-0050)  
NSMutableArray* myImages = [[[NSMutableArray alloc] initWithCapacity:51] autorelease]; 
for(int i = 0; i <= 50; i++) { 
    [myImages addObject:[UIImage imageNamed:[NSString stringWithFormat:@"image_%04d.png", i]]?:[NSNull null]]; 
} 
+0

-1: Si la UIImage est nulle cela va générer une exception. En outre, il doit s'agir de% 04, et non de% 02, pour une virgule décimale à zéro caractère de quatre caractères. –

+0

@Alex Reynolds: Je ne sais pas vraiment quel est votre problème avec moi, mais je ne vous ai pas rabaissé, même si votre réponse était trompeuse. –

+0

Je n'ai pas de problème avec vous, mais votre réponse est fausse. –

1

Vous avez fait 51 images, de zéro à cinquante.

NSMutableArray *myImages = [NSMutableArray arrayWithCapacity:51]; 
for (NSUInteger idx = 0; idx <= 50; idx++) { 
    NSString *filename = [NSString stringWithFormat:"image_%04d.png", idx]; 
    UIImage *image = [UIImage imageNamed:filename]; 
    if (image) { 
     [myImages addObject:image]; 
    } 
    else { 
     NSLog(@"Could not add %@", filename); // could also throw exception, if you want 
    } 
} 
Questions connexes