制限時間を表示!Unityでタイマーを扱う方法【初心者向け】現役エンジニアが解説
初心者向けにUnityでタイマーを設定する方法を解説しています。制限時間や経過時間などを表示したい時に役立つ知識です。実際にプログラムを書きながらタイマーの使い方を紹介しているので、ゲーム開発をしたい方はぜひご覧ください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
ゲームを作成していると、タイマー機能が必要になる場合があります。
タイマーと聞くと難しそうと思うかもしれませんが、Unityでは簡単にタイマー機能を作成できます。
この記事では、タイマー機能の作成方法について、テックアカデミーのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
目次
そもそもUnityについてよく分からないという方は、Unityとは何なのかについて解説した記事を読むとさらに理解が深まります。
今回はUnityのゲーム画面上にタイマーを表示させてみよう。
田島メンター!!タイマーはどうやって設置するんですか〜?
手順としてはまず、テキストを表示させるオブジェクトを作成し、それにスクリプトを適用させる形になるよ。
実際にやってみよう。
はい!
Timeクラスを使う
タイマーを作る際に一番よく使われる方法は、Timeクラスを使って実装する方法です。
数行のプログラムでタイマーを実装できます。
初心者の方はまずTimeクラスをの使い方を覚えましょう。
実際にタイマーを作ってみる
今回はゲームが開始してから、どれだけの時間が経過したかを計るタイマーを作成していきます。
最初に時間を表示するテキストをシーン上に配置します。
Hierarchyを右クリック → UI → Text をクリックします。
配置されたテキストをドラッグ&ドロップして、位置を変更します。
2Dビューにした方が作業しやすいので、Sceneビュー上の2Dをクリックしましょう。
下画像のようにテキストを白枠の中心に配置します。
作成したTextは小さくて見づらいので、Inspector上の値を変更して見やすくします。
下記画像のように、Widthを300、Heightを150にします。
Font Sizeは 60 にしましょう。
下画像のように見やすくなりました。
次に、テキストを表示するスクリプトを作成していきます。
Assets内で右クリック → Create → C# Script をクリックします。
ファイル名はTimerとします。
Timerスクリプトに下記のプログラムを記述します。
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Timer : MonoBehaviour
{
float countTime = 0;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
// countTimeに、ゲームが開始してからの秒数を格納
countTime += Time.deltaTime;
// 小数2桁にして表示
GetComponent<Text>().text = countTime.ToString("F2");
}
}
TimeクラスのTime.deltaTimeには、前フレームから現在のフレームまでの経過時間が格納されています。
経過時間をcountTimeに加算していくことにより、ゲームが開始してからの合計経過時間を記録できるという仕組みです。
動作を確認するために、TimerスクリプトをTextにAdd Componentしましょう。
Add Componentするには、TimerスクリプトをTextのInspectorにドラッグ&ドロップします。
ゲームを実行すると、Textにゲームが開始されてからの経過時間が表示されます。
[PR] Unityを使ったゲーム開発で挫折しない学習方法を動画で公開中
まとめ
今回はUnityでタイマーを作成する方法を学習しました。
経過時間を記録するといった単純なタイマーなら、Unityでは簡単に作成できます。
タイマー作成はサクッと終えて、ゲームの中身をどんどん作りこんでいきましょう。
ゲームを再生するとどうなったかな?
テキストのあった部分がタイマーになってます!
例えばコード内の「F2」の部分を「F3」にすると小数点第三位までの表示になるよ。
使いたい場面に応じて調整しよう。
タイマーはいろんなところで使えそうですね。
覚えておきたいです!
コスパとタイパ、両方結果的に良くなる良くなる学び方とは?
「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ
結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。
コスパ・タイパ最適化の参考として、
テックアカデミー卒業生がスクールを選んだ理由
をご紹介します。
- ・困ったときに、質問や相談できる相手がいるため挫折しなかった
- ・プロとして必要なスキルのみを深く学べたので無駄がなかった
- ・副業案件の提供と納品までのサポートがあったので目的を達成できた
安価・短期間で広く浅く学んでも意味がありません。
本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に
無料相談
に参加してみませんか?
カウンセラー・現役のプロへ、何でも気軽に無料相談可能。
30分か60分お好きな時間が選べて、かつ3回まで
すべて無料で
ご利用できます。
無理な勧誘は一切ない
ので、お気軽にご参加ください。
Unityを学習中の方へ
これで解説は終了です、お疲れさまでした。
- つまずかず「効率的に」学びたい
- 副業や転職後の「現場で使える」知識やスキルを身につけたい
Unityを学習していて、このように思ったことはありませんか?
テックアカデミーでは、第一線で活躍する「プロのエンジニア」が教えているので、効率的に実践的なスキルを完全オンラインでしっかり習得できます。
合格率10%の選考を通過した、選ばれたエンジニアの手厚いサポートを受けながら、はじめてでもUnityでオリジナルゲームの制作ができるようになります。
まずは一度、無料体験で学習の悩みや今後のキャリアについて話してみて、「現役エンジニアから教わること」を実感してみてください。
時間がない方、深く知ってから体験してみたい方は、今スグ見られる説明動画から先に視聴することをおすすめします!
プログラミングを独学で学習していて、このように感じた経験はないでしょうか?
- ・調べてもほしい情報が見つからない
- ・独学のスキルが実際の業務で通用するのか不安
- ・目標への学習プランがわからず、迷子になりそう
テックアカデミーでは、このような
学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供
しています。
30分間、オンラインでどんなことでも質問し放題です。
「受けてよかった」と感じていただけるよう
カウンセラーやエンジニア・デザイナー
があなたの相談に真摯に向き合います。
「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」
こんなささいな悩みでも大丈夫です。
無理な勧誘は一切ありません
ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)