2011-06-18 10 views
0

私は現在、このメソッドを持っていますbuttonHitは、各繰り返しの画像の配列を再生するループを実行するために使用されるintを受け入れるplayAnimationToNumberを呼び出しますが、最後の配列..あなたはなぜ見ることができますか?私は少し失われており、助けに感謝します。animationArrayのみ最後の画像を再生する

//attached to button and it calls animation method. 
- (void)buttonHit:(id)sender{ 
    [self playAnimationToNumber:5]; 
} 



- (void)playAnimationToNumber:(int)number{ 

    for (int counter=1; counter<=number; counter++) { 

     NSString *imageNameForFirstNumber = [NSString stringWithFormat:@"Flap%i.png", counter]; 
     NSArray *imagesForAnimation = [NSArray arrayWithObjects:[UIImage imageNamed:@"FlapMoving1.png"], [UIImage imageNamed:@"FlapMoving2.png"], [UIImage imageNamed:imageNameForFirstNumber], nil]; 


     animationArray.animationImages = [[NSArray alloc] initWithArray:imagesForAnimation];   

     animationArray.animationDuration = 0.5; 
     animationArray.animationRepeatCount = 1; 
     [animationArray startAnimating]; 
     [self.view addSubview:animationArray]; 



    } 


    [animationArray release]; 
} 

WORKING CODE ' - (無効)playAnimationToNumber:(int型)数{

NSMutableArray *imagesForAnimation = [[NSMutableArray alloc] initWithCapacity:0]; 


for (int counter=1; counter<=number; counter++) { 

    NSString *imageNameForFirstNumber = [NSString stringWithFormat:@"Flap%i.png", counter]; 
    [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving1.png"]]; 
    [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving2.png"]]; 
    [imagesForAnimation addObject:[UIImage imageNamed:imageNameForFirstNumber]]; 
} 
animationArray.animationImages = [NSArray arrayWithArray:imagesForAnimation];   

animationArray.animationDuration = 5.9; 
animationArray.animationRepeatCount = 1; 
[animationArray startAnimating]; 
[self.view addSubview:animationArray]; 
[imagesForAnimation release]; 

}'

答えて

2

ここでは、このコードを試しに行きます。

- (void)playAnimationToNumber:(int)number{ 

    NSMutableArray *imagesForAnimation = [[[NSMutable alloc] initWithCapacity:0] autoRelease]; 
    [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving1.png"]]; 
    [imagesForAnimation addObject:[UIImage imageNamed:@"FlapMoving2.png"]]; 

     for (int counter=1; counter<=number; counter++) { 

      NSString *imageNameForFirstNumber = [NSString stringWithFormat:@"Flap%i.png", counter]; 
      [imagesForAnimation addObject:[UIImage imageNamed:imageNameForFirstNumber]]; 
    } 
      animationArray.animationImages = [NSArray arrayWithArray:imagesForAnimation];   

      animationArray.animationDuration = 0.5; 
      animationArray.animationRepeatCount = 1; 
      [animationArray startAnimating]; 
      [self.view addSubview:animationArray]; 



     } 
} 
+0

パーフェクト.. **は** NSMutableArrayのののalloc、2つだけ問題があったが、二行目 をありがとう、それは私が自動解放を使うことはできないだろう、私はちょうどforループの外で列を解放し、それが働きました完全に。ありがとうございました!..今、1つの数字に基づいていくつかのアニメーションを実装する時間:Pの指が交差しました。 – HurkNburkS

+0

実際にはそれはすべての数字を通っていますが、中フリップを追加します...最初の数字は2つのmidflipsを再生しますが、それ以降の数字は数字だけを表示します...それは動作しますが、私はおそらく十分に説明していないでしょう。 – HurkNburkS

+0

私は自分のポストに作業コードを追加しました。あなたは大いに役立ちました。他の2つのイメージをforループに追加しました。 – HurkNburkS

関連する問題