ぷちコン奮闘記!~タイマー処理・スコア表示~

今回作るゲームには、タイマーとキルカウント(敵を殺した数)がスコアとして表示される。

 

タイマー処理もキルカウント処理も、どちらもGameModeBaseに処理を組んでいる

 

まず、どのようにしてキル数のカウント処理をしてるのかを紹介しよう。

 

GameModeBase

自分が敵を殺したという通知が、「KillCount」インターフェースを経由して送られてくる。

敵が殺された時、「KillNumber」というInteger型の変数に殺した数を格納していく。

f:id:Free_Gamer:20180808003014p:plain

「KillCount」インターフェースは、前回の記事にも書いてあるはずなので、確認してほしい。

free-gamer.hatenablog.com

 

次にタイマー処理だ。

f:id:Free_Gamer:20180808002805p:plain

イベントTickを使用。

Delayで1秒おきに「TimerSecond」というInteger型の変数を1足している。

「TimerSecond」は、秒数を格納する為の変数だ。

デフォルト値は「0」

これで、1、2、3、4・・・というように1秒ずつタイマーが加算されていく。

だが、Delayとセット「TimerSecond」変数の間に、ブランチを挟んである。

これは、キル数(KillNumber)が目標キル数(KillGoalNumber)と同じになったら、Trueに処理が流れ、クリアーリザルトを表示するために、ウィジェットBPにインターフェースで処理を送っている。

そうすれば、タイマー処理も止まってくれる。

f:id:Free_Gamer:20180808003734p:plain

f:id:Free_Gamer:20180808004418p:plain

「TimerSecond」が「60」に到達したら、「〇分」経ったかを格納する為に、「TimerMinute」というInteger型の変数を1足している。

「TimerMinute」のデフォルト値は「0」

つまり、「TimerSecond」が60秒に達したら、1分経ったという事で「TimerMinute」に1足している。

という感じだ。

その後、また「0」から秒数をカウントしていく為に、TimerSecondを「0」にセット。

そしてまたタイマーを加算していく・・・のループだ。

 

f:id:Free_Gamer:20180808005605p:plain

 

UMGはこんな感じ。

f:id:Free_Gamer:20180808010223p:plain

 

実際にやってみた結果。

youtu.be

 

キル数が目標値に到達した時、つまりステージにいる敵を全員鏖(みなごろし)にした時、しっかりタイマーが止まっていた!

同時にキル数もカウントされていた!

 

それではまた!^^ノシ