0

私は次のコードを持っています:

xx=0.50;
[NSTimer scheduledTimerWithTimeInterval:xx target:self selector:@selector(ontimer:) userInfo:nil repeats:YES];

-(void)ontimer
{
    xx=xx+0.05;
    NSTimeInterval dt = [timer timeInterval];
    // do something
}

0.50、0.55、0.60 などの ontimer を呼び出したいと思います。つまり、最初は速く、次に徐々に遅くなります。

問題は、Time ontimer が 0.50 秒ごとに呼び出されることです。

前もって感謝します。

4

2 に答える 2

1

タイマーが開始されたときにtimeIntervalを調整することはできないため、毎回fireDateを変更する必要があります。このような:

- (void)someTimerMethod:(NSTimer *)aTimer {
    static NSTimeInterval pause = 0.5;
    pause += 0.05;
    [aTimer setFireDate:[[[NSDate alloc] initWithTimeIntervalSinceNow:pause] autorelease]];
}

[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(someTimerMethod:) userInfo:nil repeats:YES];
于 2010-11-11T09:32:27.397 に答える
0

時間変数を静的に設定してみましたか?

于 2010-11-11T09:31:30.457 に答える