0

iOS ゲーム用の簡単なアニメーションを作成し、それを Mac OS 用に変換しようとしています。

これがiOS用の私のコードです

NSMutableArray *imgArr = [[[NSMutableArray alloc] init] autorelease];

    for(int i = 1; i < 6 + 1; i++) {
        [imgArr addObject: [UIImage imageNamed:[NSString stringWithFormat:@"%@%d.png", filePrefix, i]]];
    }

    UIImageView * animation = [[UIImageView alloc] initWithFrame:rect];
    animation.animationImages = imgArr;

    animation.animationRepeatCount = 1;
    [animation startAnimating];

    [self.view addSubview:animation];

ココアに関しては、この部分でエラーが発生します.どうすれば修正できますか?

//animation.animationImages = imgArr;

//animation.animationRepeatCount = 1;
//[animation startAnimating];

タイマー付きの新しいコード

for(int i = 0; i < 6; i++)
    [NSTimer scheduledTimerWithTimeInterval:1
                                     target:self
                                   selector:@selector(anim)
                                   userInfo:nil
                                    repeats:NO];


- (void)anim {
    ++num;


    NSImageView *animation = [[NSImageView alloc] initWithFrame:NSMakeRect(shipPosition.x, shipPosition.y, shipSize.width, shipSize.height)];

    [animation setImage: [NSImage imageNamed:[NSString stringWithFormat:@"explosprite%d.png", num]] ];
    [objectView addSubview:animation];

    [animation release];
}
4

1 に答える 1

1

UIImageView は Cocoa にはまったく存在しません。Cocoa は、ここでやろうとしているようなスプライト アニメーションを実際にはサポートしていません。AFAIKの最も一般的な方法は、NSTimerを設定し、タイマーが起動したときに画像を適切に更新することです。

画像のアニメーションを処理するカスタム CALayer サブクラスを作成することもできます。それが必ずしも簡単かどうかはわかりませんが、オプションです。

于 2012-12-28T01:20:10.580 に答える