2

インターネットからアニメのかがり火をダウンロードしました。私のイメージ シーケンスは "*.png" で、うまくいきません。最後までループし続けます。画像は表示されません。このコードをアニメーション化できないのはなぜですか? 私は何を間違えましたか?

        UIImageView* campFireView = [[UIImageView alloc] initWithFrame:screenx.frame];
        int j;
        int i;

        for (j = 1, i = 0; i < 28; i =1)
        {
            NSLog( @"%i.png", i);
            campFireView.animationImages = [NSArray arrayWithObjects:
                                            [UIImage imageNamed:[NSString stringWithFormat:@"%i.png",i]], nil];
        }
        // all frames will execute in 1.75 seconds
        campFireView.animationDuration = .15;
        // repeat the annimation forever
        campFireView.animationRepeatCount = 1;
        // start animatinganimationRepeatCount:1];

        [campFireView startAnimating];

        // add the animation view to the main window 
        [self.view addSubview:campFireView]; 
        [campFireView release]; 
4

2 に答える 2

1

あなたが電話するたびに:

        campFireView.animationImages = [NSArray arrayWithObjects:
                                        [UIImage imageNamed:[NSString stringWithFormat:@"%i.png",i]], nil];

animationImagesを 1 項目の配列に設定しています。代わりにおそらく何をするつもりだったか:

    NSMutableArray *animationImages = [NSMutableArray array];

    for (i = 0; i < 28; i++)
    {
        [animationImages addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%i.png",i]]];
    }

    campfireView.animationImages = animationImages;

また、ループで何が起こっていたのかわかりませんが、for修正しました。

于 2012-09-25T05:49:22.763 に答える
0

ループすると、毎回1つの画像がanimationImagesに提供されます

NSMutableArray *arrImgs = [NSMutableArray array];

for (i = 0; i < 28; i++)
    {
        [arrImgs addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%i.png",i]]];
    }

campfireView.animationImages  = [NSArray arrayWithArray:arrImgs];
于 2012-09-25T05:51:28.050 に答える