0

私は現在、カウントダウンタイマー付きの小さなゲームを作っています。私はNSTimerを使用していますが、アクションに応じて、延長戦または延長戦を行うことができます。タイマーに秒を追加または削除するときに、時間ラベルに問題があります。この問題は私が原因です。メソッドtimerActionを呼び出しています。このメソッドは、時間を追加または削除するときにラベルに新しい時間を設定し、NSTimerもメソッドを呼び出しています。timerActionを呼び出さない場合は、NSTimerでラベルを更新するために1秒待つ必要があります。

それで、私の問題を解決するために私は何をすべきですか?

ご協力いただきありがとうございます。

4

1 に答える 1

0

まず、あなたのコードについてお聞きしたいと思います。

また、今回はこのパターンでやります。

@property (nonatomic) NSInteger remainingTime;
@property (nonatomic) NSTimer *timer;

timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(timerAction) userInfo:nil repeats:YES]; 

- (void)timerAction {
    if (!countingFinish) {
       remainingTime --;
       //backend regular action
       [self frontEndUpdate];
    }else {
       [timer invalidate];
    }
}

- (bool)countingFinish {
    return (reamainingTime <= 0);
}

- (void)frontEndUpdate {
    //update time label, or other front end update action
}

- (void)addCountingRemaining:(NSInteger) _sec {
     remainingTime += _sec;
     [self frontEndUpdate];
}

ところで、これは juz ドラフト コードです。それが役に立てば幸い

于 2012-06-19T10:03:18.323 に答える