タイマー処理!(十の位とか一の位とかそんな感じの)

今回は、

f:id:Free_Gamer:20181022231821p:plain

この表記でのタイマー処理をする。

 

これがなかなか複雑で難しかった。(もっと効率的な方法があるのかな?)

 

イベントグラフ(僕はGameModeBaseに処理を組んだが、別にレベルBPでもなんでもいいです)

f:id:Free_Gamer:20181022232145p:plain

用意する変数

f:id:Free_Gamer:20181022232346p:plain

変数名の解説

Minute・・・分

Second・・・秒

TensPlace・・・十の位

OnePlace・・・一の位

 

まず「1・2・3・・・・・」と1秒おきにカウントするようにする。

f:id:Free_Gamer:20181022232237p:plain

1秒おきに「TimerSecondOnePlace(秒の一の位)」に「1」を足していく。

「TimerSecondOnePlace」が「10」、つまり「10秒」に達したら「TimerSecondTensPlace(秒の十の位)」に「1」を足す。

そして「TimerSecondOnePlace」の値を「0」にセット。

これで、

「TimerSecondTensPlace(1)」と「TimerSecondOnePlace(0)」で「10秒」になったわけだ。

f:id:Free_Gamer:20181022232533p:plain

 

↓これはタイマーが「9分60秒」に達した時、つまり「10分」になる瞬間の処理。

まず先に「10分」に達する前のFalseに繋がってる処理を見よう。

f:id:Free_Gamer:20181022233000p:plain

 

「TimerSecondTensPlace」が「6」、「TimerSecondOnePlace」が「0」、つまり「60秒」に達した時、「TimerMinuteOnePlace(分の一の位)」に「1」を足す。

そして、「TimerSecondTensPlace」を「0」にセット。

この時点で「TimerMinuteOnePlace(1)」と「TimerSecondTensPlace(0)」「TimerSecondOnePlace(0)」なので、「1分」経ったことになる。

f:id:Free_Gamer:20181022233450p:plain

 

次にTrueに繋がる処理を見よう。

「9分60秒」、つまり「10分」に達した時、処理はTrueを通る。

f:id:Free_Gamer:20181022233000p:plain

 

「TimerMinuteTensPlace(分の十の位)」に「1」を足す。そして「TimerMinuteOnePlace」の値を「0」にセット。

その後、「TimerSecondTensPlace」「TimerSecondOnePlace」の値を「0」にセットする。

これで、「10分」経ったことになる。

f:id:Free_Gamer:20181022233948p:plain

 

あとは、タイマーを表示するための処理を作って完成だ。

(UMGによるテキスト表示の説明は省きます・・・泣)

f:id:Free_Gamer:20181022231821p:plain

f:id:Free_Gamer:20181022234406p:plain

f:id:Free_Gamer:20181022234436p:plain

f:id:Free_Gamer:20181022234546p:plain

 

これでプレイ!

 

10秒に到達した時

youtu.be

 

1分に到達した時

 

10分に到達した時

youtu.be

 

しっかりタイマー処理が行われていた!

 

それではまた!^^ノシ