2

私が開発しているゲームで、遅延を作成したいと考えています。私が作っている遅延は、このコードでハンドラーを使用していることです:

handler.postDelayed(new Runnable() {
        public void run() {
               animationDrawable.start();

                }
        },theDelay);

問題は、すべてを停止し、再開するまで何もしない一時停止ボタンを取得したことです。今のところ、ゲームプレイが一時停止されていても実行されています。アクティビティを一時停止したいときに変更されるブール値を取得しました。

Thread、TimerTask、および Handler を使用して解決策を検索しましたが、これらのすべてについて、安全に使用できないという警告が表示されました。

この「カウントダウン」を安全な方法で一時停止して再開するにはどうすればよいですか?また、再開するときに最初からやり直す必要はありません。

4

1 に答える 1

3

この「カウントダウン」を安全な方法で一時停止して再開するには、再開するときに最初からやり直す必要がないようにするにはどうすればよいですか?

  1. このようにハンドラーを開始するときに開始時間を保存します- startTime = System.currentTimeMillis();
  2. onPauseその時間を保存し、ヘンドラーpauseTime = System.currentTimeMillis();をキャンセルします
  3. 内部onResumeでイベントを再作成しますpauseTime - startTime
于 2013-01-01T12:15:16.853 に答える