Unity向け C# の基礎:初心者が知っておくべき基本文法と使い方

プログラミング
記事内に広告が含まれています。

Unityでゲームを作るためには、C#(シーシャープ)というプログラミング言語を使います。初心者の方でも理解しやすいように、Unity向けのC#の基礎を解説します。

C#とは?

C#は、Microsoftが開発したプログラミング言語で、Unityの公式言語として採用されています。オブジェクト指向言語であり、ゲームの動作をスクリプト(プログラム)で制御できます。

例えば、以下のような動作をC#で実装します。

  • プレイヤーを移動させる
  • ボタンを押したら音を鳴らす
  • 敵のAIを制御する
  • スコアを管理する

C#の基本文法

① 変数とデータ型

C#では、データを扱うために「変数」を使います。変数には種類(データ型)があり、数値や文字列を格納できます。

int score = 100;  // 整数型
float speed = 5.5f; // 小数点を含む数値(末尾にfが必要)
string playerName = "Hero"; // 文字列
bool isGameOver = false; // 真偽値(true or false)
  • int(整数)、float(小数)、string(文字列)、bool(真偽値)などを適切に使い分ける。
  • float型の値は 5.5f のように 末尾にfをつける

② 条件分岐(if文)

ゲームでは、「スコアが100以上ならクリア」といった条件分岐が必要になります。

if (score >= 100) {
    Debug.Log("ゲームクリア!");
} else {
    Debug.Log("まだクリアできません。");
}
  • if (条件) { 処理 } で条件を満たす場合の動作を指定する。
  • else { 処理 } で、条件を満たさない場合の動作を設定できる。

③ 繰り返し処理(for文)

例えば、ゲーム内で5つの敵を作成するときに、繰り返し処理を使うと便利です。

for (int i = 0; i < 5; i++) {
    Debug.Log("敵が出現!" + i);
}
  • for (初期値; 条件; 増減) の形で指定する。
  • i++i = i + 1 と同じ意味。

他にもswitch文やwhile文などがありますが、基本的にはこれだけでも処理の流れを制御することができます!

Unityのスクリプトの書き方

① スクリプトの作成方法

Unityエディタの「Assets」フォルダ内で 右クリック → Create → C# Script を選択。

スクリプトに名前を付ける(例:PlayerController)。

ダブルクリックして開くと、以下のような基本コードがある。

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    void Start()
    {
        Debug.Log("ゲーム開始!");
    }

    void Update()
    {
        Debug.Log("毎フレーム実行される");
    }
}
  • Start() … ゲーム開始時に1回だけ実行される。
  • Update() … 毎フレーム(1秒間に60回など)実行される。

② オブジェクトを動かしてみよう!

ゲーム内でキャラクターを動かす基本的なスクリプトを紹介します。

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float speed = 5.0f; // プレイヤーの移動速度

    void Update()
    {
        float moveX = Input.GetAxis("Horizontal"); // 左右の入力
        float moveY = Input.GetAxis("Vertical");   // 上下の入力

        Vector3 move = new Vector3(moveX, moveY, 0) * speed * Time.deltaTime;
        transform.position += move; // プレイヤーの位置を更新
    }
}
  • Input.GetAxis("Horizontal") は左右の入力(Aキー / Dキー / 矢印キー)。
  • Input.GetAxis("Vertical") は上下の入力(Wキー / Sキー / 矢印キー)。
  • Time.deltaTime を掛けることで、フレームレートに依存しない滑らかな動きになる。

実装手順

上記のスクリプトをPlayerControllerとして作成。

プレイヤーキャラクターのオブジェクト(例:Cube)をHierarchyパネルに追加。

プレイヤーキャラクターのオブジェクト(Cube)にドラッグアンドドロップしてアタッチ。
スクリプトはオブジェクトにアタッチしないと機能しないので注意!

ゲームを再生してキーボードで移動を確認!

まとめ

本記事では、Unityでゲームを作るために必要なC#の基礎を紹介しました。

  • 変数・データ型の基本
  • 条件分岐(if文)の使い方
  • 繰り返し処理(for文)の活用
  • Unityのスクリプトの作成方法
  • キーボード入力でキャラクターを移動させる方法

まずは、基本的なスクリプトを書いて動かしながら、C#の文法を身につけていきましょう!

おすすめ書籍

Unityに特化したC#の入門書です。脱初心者を目指す内容となっており500ページのボリュームですが、Unityのプログラミングに特化しており効率よく学ぶことができます。

Amazonのkindle unlimitedに契約すれば契約期間中読み放題となりますが、私は読み放題で読んだ後に普通に購入しました。持っておくと安心といった感じですね。

中級者レベルを目指す方はチェックしてみてください!

>>kindle unlimitedはこちら

コメント

タイトルとURLをコピーしました