【Unity】Unityで3D野球盤をつくろう日記 22日目:画面上に時間制限(カウントダウンタイマー)を表示させる

投稿日:2017年10月26日
最終更新日:2019年1月19日

(日記のまとめページはこちら:https://wakky.tech/unity-baseball-game/

久しぶりの更新。現状だと、ゲームに時間制限が無く、永遠にゲームが続いてしまう。そこで今回は時間制限を画面上に表示させ、カウントダウンさせるようにしたいと思う。まずは時間制限を表示させるところから。ここは、以前得点を表示させたときと同じ要領で表示を行う。

Canvasに新たにTimeLimitChara、TimeLimitNumという名前のTextを追加して、Inspectorで位置を調整し、適当に画面右上あたりに持ってくる。

あとはスコア表示と同じ要領で、scriptを使ってTimeLimitNumの数字をカウントダウンさせていく。スコア表示ではBallにscriptを付加したけど、今回は特定のobjectの挙動に依存した処理ではない。というわけで、EventSystemオブジェクトにScriptを付加してカウントダウンを実現したいと思う。(今後も特定のobjectに依存しない処理はEventSystemオブジェクトに付加していくつもり)Time.deltaTimeを使うと簡単にできそう。

つくったScriptが以下のCountDownTimer.cs。とりあえず今回はカウントダウンだけさせて、残り時間が0になったときの処理は今度追記したいと思う。

https://gist.github.com/WakkyFree/bac46e19599dbd73790d2b4afd5bd10d/bf511383e5e84d5a059601d422412052bc660045

表示は整数にしたかったのでfloatからintにキャストしている。あとは得点表示させたときと同じ要領で、ScriptをEventSystemに付加したうえで、TimeLimitNumをTimeTextにドラッグアンドドロップする。

これで60秒から0秒までのカウントダウンを表示できた。現在の状態だと0秒になってもゲームは続くので、次回は0秒になったときにゲームを終了させる処理を追加したいと思う。


投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください