カメラを使用するアプリがあり、銃の画像がオーバーレイされ、発射とリロードのボタンがあります。Retina iPad と iPhone では、発射アニメーションでは約 1 秒で 30 枚の画像が循環し、リロード アニメーションでは 2 秒で 41 枚の画像が循環します。すべての画像は 1920 x 1080 で、iPhone では 1000 x 533 です。たとえば、ファイア ボタンがタップされたときに .png を切り替えるには、PlayViewController.m ファイルでこれを使用します。
- (IBAction)fire:(id)sender {
// Play the firing animation for the rifle, enable reload button
fireButton.enabled = NO;
type.animationImages = gunanimload;
type.animationDuration = 1.0;
type.animationRepeatCount = 1;
reloadButton.enabled = YES;
[type startAnimating];
viewDidLoad メソッドで、配列を作成し、画像をロードします。
- (void)viewDidLoad
{
[super viewDidLoad];
UIImage* img1 = [UIImage imageNamed:@"rev0001.png"];
... x30
gunanimload = [NSArray arrayWithObjects:img1, ... x30, nil];
}
ビューのロード時に配列をロードする必要がありますが、Fire ボタンがタップされたときにまだロードしているようです。この遅延を解消するにはどうすればよいですか? または、火を再生してアニメーションをリロードする (比較的単純な) 代替手段はありますか?