タイマー処理!(十の位とか一の位とかそんな感じの)
今回は、
この表記でのタイマー処理をする。
これがなかなか複雑で難しかった。(もっと効率的な方法があるのかな?)
イベントグラフ(僕はGameModeBaseに処理を組んだが、別にレベルBPでもなんでもいいです)
用意する変数
変数名の解説
Minute・・・分
Second・・・秒
TensPlace・・・十の位
OnePlace・・・一の位
まず「1・2・3・・・・・」と1秒おきにカウントするようにする。
1秒おきに「TimerSecondOnePlace(秒の一の位)」に「1」を足していく。
「TimerSecondOnePlace」が「10」、つまり「10秒」に達したら「TimerSecondTensPlace(秒の十の位)」に「1」を足す。
そして「TimerSecondOnePlace」の値を「0」にセット。
これで、
「TimerSecondTensPlace(1)」と「TimerSecondOnePlace(0)」で「10秒」になったわけだ。
↓これはタイマーが「9分60秒」に達した時、つまり「10分」になる瞬間の処理。
まず先に「10分」に達する前のFalseに繋がってる処理を見よう。
「TimerSecondTensPlace」が「6」、「TimerSecondOnePlace」が「0」、つまり「60秒」に達した時、「TimerMinuteOnePlace(分の一の位)」に「1」を足す。
そして、「TimerSecondTensPlace」を「0」にセット。
この時点で「TimerMinuteOnePlace(1)」と「TimerSecondTensPlace(0)」「TimerSecondOnePlace(0)」なので、「1分」経ったことになる。
次にTrueに繋がる処理を見よう。
「9分60秒」、つまり「10分」に達した時、処理はTrueを通る。
「TimerMinuteTensPlace(分の十の位)」に「1」を足す。そして「TimerMinuteOnePlace」の値を「0」にセット。
その後、「TimerSecondTensPlace」「TimerSecondOnePlace」の値を「0」にセットする。
これで、「10分」経ったことになる。
あとは、タイマーを表示するための処理を作って完成だ。
(UMGによるテキスト表示の説明は省きます・・・泣)
これでプレイ!
10秒に到達した時
1分に到達した時
10分に到達した時
しっかりタイマー処理が行われていた!
それではまた!^^ノシ