0

私はゲームプロジェクトに取り組んでいます。私がやりたいのは、ウィンドウ内のラベルのグループを画面の上から下に移動し、ユーザーにこれらのラベルを読み取らせ、フェードアウトさせることです(ラベルが上から下にスライドするように)トリガーなし)。

ループ内のタイマー変数は、タイマー値に応じてスライドして位置を変更するのに役立つと思いました。

私はいくつかの調査をしましたが、あなたが私と記事を共有するならば、私は私が何を探すべきかを知ることができます。

ありがとうございました。

4

2 に答える 2

2

@チャックは正しいです。詳細に:

-(void)doTheLabelThing {

    // assume all the labels are in a container view that is 320 wide and 100 tall
    self.labelContainer.frame = CGRectMake(0, -100, 320, 100);

    [UIView animateWithDuration:0.5 animations:^{
        // slide down
        self.labelContainer.frame = CGRectMake(0, 360, 320, 100);
    } completion:^(BOOL finished) {
        // give user 3 seconds to read it
        [UIView animateWithDuration:0.5 delay:3.0 options:0 animations:^{
            // fade out
            self.labelContainer.alpha = 0.0;
        } completion:^(BOOL finished) {
            // restore everything to original state
            self.labelContainer.alpha = 1.0;
            self.labelContainer.frame = CGRectMake(0, -100, 320, 100);
        }];
    }];
}
于 2012-06-11T18:48:39.560 に答える
1

ループやタイマーは使用しないでください。CoreAnimationを使用します。ただやるanimateWithDuration:animations:などして、彼らの位置をあなたが望む新しい場所に設定してください。

于 2012-06-11T18:12:16.823 に答える