ブログ

(Unity2020)満年齢計算機を作る

(1)下準備

  • Create Emptyを作成
  • 名前を「Age」に変更

(2)UIの作成

 

(ポイント)<Input Fieldの作成>

  • Canvasの上で右クリック・・・>UI・・・>Input Fieldをクリック

  • 名前を「Input_Birthday」に変更
  • 入力エリアの大きさは自由に設定

  • Input Fieldコンポーネントの中から「Content Type」を探す
  • 「Integer Number」に変更(重要ポイント)
  • これで、ユーザーは「整数」のみ入力できるようになります。

 

  • Placeholderを選択
  • Textエリアに『誕生日の参考例』を『8桁の数字』で書く(ポイント)・・・>例「19850307」
  • Font Sizeは自由に変更
  • Alignmentは中央寄せ

 

  • Textを選択
  • Font Sizeは自由に変更
  • Alignmentは中央寄せ
  • Colorは自由

 

*Buttonを含めて、残りのUIを作成ましょう。

 

(3)スクリプトの作成

  • 新規にC#スクリプトの作成
  • 名前を「Age」に変更
  • 下記のコードを書いてチェック

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 追加
using System;
using UnityEngine.UI;

public class Age : MonoBehaviour
{
    public GameObject input_birthday;

    private int age;
    public Text ageLabel;

    private string birthday;
    private int b;

    private DateTime today;
    private int t;
   
    public void OnCalculationButtonClicked()
    {
        // ①ユーザーが入力した誕生日データの処理
        // 入力データは「string型」
        birthday = input_birthday.GetComponent<InputField>().text;

        // 入力データを計算で使用できるように「int型」(8桁の数字)に変換する。
        b = int.Parse(birthday);

        // ②今日の日時情報の取得
        today = DateTime.Today;

        // 日時情報を計算で使用できるように「int型」(8桁の数字)に変換する。
        t = int.Parse(today.ToString("yyyyMMdd"));

        // ③満年齢の計算式
        age = (t - b) / 10000;

        // ④満年齢を画面に表示
        ageLabel.text = "満年齢>" + age;

    }
}

 


(4)設定

  • Ageオブジェクトにスクリプトを追加
  • 空欄を埋める。

  • ボタンの設定(復習)

 

(5)ゲーム再生

  • 設定が完了したらゲーム再生
  • 誕生日を8桁の半角数字で入力
  • 計算ボタンを押した瞬間、満年齢が表示されれば成功です。