こんにちは。ロゲイニングアプリを作成している翔平です。
ゲーム時間を管理するためのタイマー機能について、いろいろ調べながら試行錯誤したのですが、どうしても手詰まりでよい方法知っている方いましたら教えてほしいです。
今回のタイマー機能にはプラグインの「Timer / Stopwatch / Countdown」を利用しています。
【実装したいこと】
スタートを押すとタイマーがスタートし、0になるとマイナス表記(もしくは赤文字)になってカウントが継続していく。
ページを切り替えてもタイマーのカウントは継続され、リセットされない。
【現状の状態】
プラグインのCountdownを使い、スタート時間と終了時間をDBに書き込むことで、ページ切り替え時にもDBに保存された時間をもとにタイマーが動くため、カウントダウンは継続されます。
ただし、このプラグインのタイマーが0になると終了してしまい、マイナスに突入してのカウントができなくなっています。
代替案として、同プラグインのChronometerを使い、CountDown終了後にChronometerがスタートしてマイナス表記として赤文字表示で動かすことには成功しています。
ただし、Chronometerのスタート時間が指定できないためにページを切り替えるとカウントがリセットされてしまいます。
①タイマーボタンを押すとタイマースタート(Countdownを使用)
同時にDBにスタート時間と終了時間を保存。
(Countdownのタイマー起動中はページを切り替えてもスタートと終了をDBから取得しているため、継続されています。)
②Countdown(クロモジの秒数)が0になるとChronometerが起動し、赤文字でカウントスタート。
③カウントアップ中にページの切り替えをする。
ページの切り替えによりChronometerの赤文字がリセットされまた0からカウントスタート。
Countdownをそのままマイナスでカウントさせる方法、Chronometerのスタート時間をDBに記録された時間からスタートする、もしくは全く別の方法でも構いません。
わかる方いましたらお願いします。