0

UIViewでアニメーション化されたオブジェクト(画像)がいくつかあるサンプルアプリケーションの作業を開始しました。これらのオブジェクトと一緒にアニメーション化する必要がある背景画像が必要です。2 つのアニメーションが同時に発生する必要があります。背景画像はすべての画面スペースを占有し、この上に他の画像をアニメーション化する必要があります。誰かがこれを達成するために私を導くことができますか?

以下のリンクに記載されていることを試しました。

  for (int i = 0; i < IMAGE_COUNT; i++)
        [_imageArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"D%d.png", i]]];


    _animatedImages = [[UIImageView alloc] 
                      initWithFrame:CGRectMake(
                                               (SCREEN_WIDTH / 2) - (IMAGE_WIDTH / 2), 
                                               (SCREEN_HEIGHT / 2) - (IMAGE_HEIGHT / 2) + STATUS_BAR_HEIGHT,
                                               IMAGE_WIDTH, IMAGE_HEIGHT)];

    _animatedImages.animationImages = [NSArray arrayWithArray:_imageArray];

    _animatedImages.animationDuration = 1.0;

    _animatedImages.animationRepeatCount = -1;

動画またはアニメーション画像としてのiPhoneゲームの背景?

しかし、2 つのアニメーションは独立して発生しています。アニメーション化する必要がある背景画像の上にあるオブジェクトをアニメーション化したいと思います.これが不可能な場合は、レイヤーまたは他のオブジェクトを使用してこれを実現できます.提案してください.

4

1 に答える 1

0

`UIImageView' は、アニメーションの開始時間を制御する方法を提供していないようです。そのような API はありますが、それは低レベルの CoreAnimation フレームワークにあります (UIImageView はその実装で使用する必要があります...)

独自の UIImageView アニメーションを再実装できます。

次に、相対的なタイミングで異なるアニメーションを設定するには、「コア アニメーションを異なるレイヤーに次々とチェーンするにはどうすればよいですか?」を 参照してください。2 つのCABasicAnimation アニメーションをグループ化し、まったく同時に開始する方法は? .

すべてのレイヤー アニメーション間のオフセットは必要ないが、同時に実行する必要があるため、 を作成しCAAnimationGroup、それらすべてに同じ を配置する必要がありますbeginTime

CAMediaTimingプロトコル (によって実装) はかなり文書化されていCAAnimationますが、これはあなたが興味を持っている部分です: コア アニメーションのタイミング - API の説明については、この投稿を確認してください。

于 2013-02-10T17:39:51.957 に答える