Unity C# 初心者向け攻略ガイド(コマンド図鑑)
「全体を見渡す地図を持とう」
オンラインコースで突然知らないコマンドが出てきて、「今どこで何をしているの?」と迷子になっていませんか?
暗闇で足元だけを照らすのではなく、このガイドを「Googleマップ」のように使って、全体像を確認してください。
「あ、今は地図のこの辺り(移動処理)をやっているんだな」と現在地がわかれば、安心して進めます。
==================================================
■ 1. 基本の「言葉」 (変数と型)
プログラムの世界でデータを扱うための「箱」です。
【 int 】 整数
例: 1, 2, 100 などの数(個数や得点)
コード: int score = 10;
【 float 】 小数
例: 1.5, 0.1, 3.14 などの細かい数(スピードや時間)
※最後に f をつけます
コード: float speed = 5.5f;
【 string 】 文字列
例: “Hello”, “Player1” などの文字
※ “” で囲みます
コード: string name = “Hero”;
【 bool 】 真偽
例: true (はい) か false (いいえ)(スイッチのオンオフ)
コード: bool isDead = false;
==================================================
■ 2. Unityの「生活リズム」 (ライフサイクル)
Unityが自動的に呼び出してくれる特別な関数です。
● void Start()
いつ?: ゲームが始まった瞬間(最初の1回だけ)。
何に使う?: 準備運動。体力の初期化や、アイテムの装備など。
● void Update()
いつ?: 毎フレーム(1秒間に60回くらいずっと)。
何に使う?: 常に監視すること。キー入力のチェックや、移動処理など。
==================================================
■ 3. 動きと場所 (Transform)
「どこにいるか」「どっちを向いているか」を扱います。
● transform.Translate(x, y, z);
意味: 「移動する」。
使い方: transform.Translate(0, 0, 0.1f); (Z方向に0.1ずつ進む)
● transform.Rotate(x, y, z);
意味: 「回転する」。
使い方: transform.Rotate(0, 90, 0); (Y軸を中心に90度回る)
● transform.position
意味: 「今の場所」。
使い方: transform.position = new Vector3(0, 5, 0); (強制的に座標(0,5,0)へワープさせる)
==================================================
■ 4. 操作する (Input)
プレイヤーからの合図を受け取ります。
● Input.GetKeyDown(KeyCode.Space)
意味: 「スペースキーが 押された瞬間」。
使い方: ジャンプなど、1回だけ反応してほしいとき。
if (Input.GetKeyDown(KeyCode.Space)) {
// ジャンプする処理
}
● Input.GetAxis(“Horizontal”)
意味: 「横方向の入力値 (-1.0 〜 1.0)」。
使い方: 矢印キーやA/Dキー、ジョイスティックの傾き。
左 (-1) <— 0 —> 右 (+1)
float h = Input.GetAxis(“Horizontal”);
==================================================
■ 5. 物理法則 (Physics & Rigidbody)
重力や衝突判定を使いたいときに。
● GetComponent<Rigidbody>()
意味: 「このオブジェクトについている『Rigidbody(物理エンジン)』の機能を取ってくる」。
使い方: 最初に Start() で取得して、変数に入れておくことが多いです。
Rigidbody rb;
void Start() {
rb = GetComponent<Rigidbody>();
}
● rb.AddForce(x, y, z, ForceMode.Impulse);
意味: 「力を加える(ドーンと押す)」。
使い方: ジャンプや発射など。
rb.AddForce(Vector3.up * 10, ForceMode.Impulse); (上にドーン!)
● OnCollisionEnter(Collision collision)
意味: 「カツン!と何かにぶつかったとき」。
使い方: 壁にぶつかった、床に着地したときなど。
● OnTriggerEnter(Collider other)
意味: 「すり抜けるエリアに入ったとき」。
使い方: コインを取った、ゴールゲートをくぐったときなど(「Is Trigger」にチェックが入っている場合)。
==================================================
■ 6. 生み出す・消す (Object Management)
● Instantiate(original, position, rotation);
意味: 「分身を作る(生成する)」。
使い方: 弾を発射したり、敵を出現させたり。
Instantiate(bulletPrefab, transform.position, transform.rotation);
● Destroy(gameObject);
意味: 「破壊する(消す)」。
使い方: 敵を倒したときや、取ったコインを消すとき。
Destroy(this.gameObject); (自分自身を消す)
Destroy(gameObject, 3.0f); (3秒後に消す)
==================================================
■ 7. 開発者の味方 (Debug)
● Debug.Log(“メッセージ”);
意味: 「コンソール画面に文字を出す」。
使い方: プログラムがそこまで動いているか確認したり、変数のあたいを見たり。
Debug.Log(“ゲーム開始!”);
Debug.Log(“現在のスコア: ” + score);
==================================================
困ったときは?
・大文字・小文字に注意: Start と start は別のものです。
・セミコロン忘れ: 行の最後に ; はありますか?
・全角スペース: コードの中に全角スペースが混ざっているとエラーになります。
