2

png画像シーケンスがロードされたUIImageViewがあります。

私の質問は-アニメーションシーケンスを「ピンポン」できる方法を知っていますか?1〜24から順方向に再生し、次に24〜1から逆方向に再生してループするようにします。

(技術的には、1-24、23-1、2-24、23-1 ...など)

- (void) loadAnim01 {
mon01 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mon01_01.png"]];
mon01.center = CGPointMake(258,69);
NSMutableArray *array = [NSMutableArray array];
for (int i = 1; i <= 24; i++) 
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mon01_%02d.png",i]]];
mon01.animationImages = array;
mon01.animationDuration = 1.0;
mon01.animationRepeatCount = 0;
[self.view addSubview:mon01];
[mon01 release];

}

どうもありがとうございます!

4

2 に答える 2

7
for (int i = 1; i <= 24; i++) {
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mon01_%02d.png",i]]];
}
for (int j = 23; j >= 2; j--) {
    [array addObject:[array objectAtIndex:j-1]];  // -1 since arrays are 0-based
}

これにより、最初と最後のアニメーションを除くすべての2番目のコピーが逆の順序で追加され、ピンポン効果が得られます。

于 2009-08-30T05:41:59.960 に答える
0

いいえ、Cocoaのすべてが参照カウントされるため、コピーを使用しない限り、複数のコレクションのオブジェクトのメンバーシップには1つのインスタンスしかありません。

于 2011-03-29T02:26:48.660 に答える