← Unity C#

LESSON / ARTICLE

出力・変数・型

出力方法、変数、基本データ型とUnityでの利用例を学びます。

出力・変数・型

プログラムは値を受け取り、変数に保存し、計算や判定に利用します。この章では値を表示する方法と、値を扱うための基本を整理します。

値を出力する

Console.WriteLineは値を表示して改行し、Console.Writeは改行せずに続けて表示します。

Console.Write("Score: ");
Console.WriteLine(120);
Console.WriteLine("Ready");

出力は次のようになります。

Score: 120
Ready

Unityのスクリプトでは、開発中の確認やデバッグにDebug.Logを使います。

Debug.Log("Score: " + score);

変数とは

変数は値を名前で扱うための領域です。宣言するときは型、変数名、必要なら初期値を書きます。

int score = 120;
string playerName = "Aoi";
bool isPlaying = true;

Console.WriteLine(playerName);
Console.WriteLine(score);
Console.WriteLine(isPlaying);

この例ではplayerNameに文字列、scoreに整数、isPlayingに真偽値を保存しています。出力はAoi、120、Trueの順に3行です。C#のbool値を文字列として表示するとTrueまたはFalseになります。

基本的なデータ型

型 用途 例
int 整数 10
float 単精度浮動小数点数 1.5f
double 倍精度浮動小数点数 3.14
string 文字列 "Hello"
char 1文字 'A'
bool 真偽値 true / false

Unityでは座標や速度などにfloatがよく使われます。float型の数値リテラルには、1.5fのように末尾へfを付けます。

代入と更新

int hp = 100;
hp = 80;
hp = hp - 10;
Console.WriteLine(hp);

処理後のhpは70です。最初の代入で100を保存し、次に80へ上書きし、最後に現在の値から10を引いています。代入演算子=は左右が等しいかを調べる演算子ではなく、右辺の値を左辺の変数へ保存する演算子です。

文字列への値の埋め込み

文字列補間を使うと、変数の値を読みやすく表示できます。

string playerName = "Aoi";
int score = 120;
Console.WriteLine($"{playerName}: {score}");

出力はAoi: 120です。Unityのログでも同じ書き方ができます。

Unityでの利用例

using UnityEngine;

public class PlayerStatus : MonoBehaviour
{
    [SerializeField] private int hp = 100;
    [SerializeField] private float moveSpeed = 4.5f;
    [SerializeField] private string playerName = "Aoi";

    void Start()
    {
        Debug.Log($"{playerName} HP:{hp} Speed:{moveSpeed}");
    }
}

SerializeFieldを付けたprivateフィールドはInspectorから値を設定できます。intは体力のような整数値、floatは移動速度のような小数値に向いています。

よくある間違い

  • floatの値にfを付け忘れ、型変換エラーになる。
  • 文字列をダブルクォーテーションで囲まない。
  • 変数へ値を代入する前に読み取る。
  • 大文字と小文字を取り違える。C#ではscoreとScoreは別の名前です。

この章の要点

型は値の種類を決め、変数はその値を名前で扱えるようにします。出力はコンソールアプリならConsole.WriteLine、UnityならDebug.Logが基本です。次章では、値に応じて処理を分けたり、同じ処理を繰り返したりする方法を扱います。