ゲームを作成していますが、ゲーム内でタイム カウンターを取得する必要があります。
私はうまく機能しますが、マップをスクロールすると停止し、スクロールが終了すると再び開始します。これは、dispatch_async で修正します。ここにコードがあります
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeNext) userInfo:nil repeats:NO];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
[[NSRunLoop currentRunLoop] run];
});
タイマー:
__block NSTimer *timer;
ただし、アプリがバックグラウンドになった場合は、今回は停止する必要があります (アクティブになると、再び開始されます)。
このようにして、マップをスクロールでき、タイマーがうまく機能します。
- (void)timeNext {
[timer invalidate];
}
そしてうまくいきませんでした。誰でもそれを止める方法を知っていますか? またはこのタスクを達成するための他のアイデアはありますか?