コンテンツにスキップ

第3週:はじめてのプログラミング - C#入門(Python比較)

前回はGameObjectを並べて、Transformで動かし、Sprite Rendererで色をつけました。 ここまではマウスの操作だけでしたが、今日からいよいよプログラミングです。 まずはPythonとC#の違いを理解し、プログラムを書く準備をしましょう。

  • PythonとC#の違いと共通点を理解する
  • Visual Studioの基本操作を覚える
  • C#の変数と型を理解する
  • 簡単なC#プログラムを書いてみる
  • UnityはC#専用:Unityでゲームを作るにはC#が必要
  • Pythonと似ている部分も多い:基本的な考え方は同じ
  • 型がある:変数の種類を明確にする(エラーを防げる)
  • 高速:ゲームに必要な処理速度が出せる
Python vs CSharp
Python vs CSharp
項目 Python C Sharp (Unity)
文の終わり 改行 セミコロン(;
ブロックの表現 インデント(字下げ) 波括弧 { }
画面出力 print("Hello") Debug.Log("Hello");

書き方の対応表は付録Cにまとめてあります。 迷ったらそちらを見てください。

Pythonは型を書かない、C#は型を書く

Section titled “Pythonは型を書かない、C#は型を書く”

Pythonでは変数を作るとき、型を書きません:

# Python - 型を書かない
name = "太郎" # 文字列
age = 15 # 整数
height = 165.5 # 小数
is_student = True # 真偽値

C#では変数を作るとき、必ず型を書きます:

// C# - 型を書く
string name = "太郎"; // 文字列型
int age = 15; // 整数型
float height = 165.5f; // 小数型(fを付ける)
bool isStudent = true; // 真偽値型(小文字)

今日使うのはint(整数)・float(小数)・string(文字列)・bool(真偽値)の4つです。 残りの型は付録Cにまとめてあります。

Unityでスクリプトを作ってみよう

Section titled “Unityでスクリプトを作ってみよう”

実際にUnityでC#スクリプトを作成してみましょう!

  1. Projectウィンドウで右クリック
  2. Create → MonoBehaviour Script を選択
  3. 名前を入力できる状態になるので、そのままFirstScriptと入力してEnter
  4. ダブルクリックして開く(Visual Studioが起動します)
スクリプト作成手順
スクリプト作成手順

ダブルクリックして開くと、次のようになっています。 まだ何も書かれていない「ひな形」です。

using UnityEngine;
public class FirstScript : MonoBehaviour
{
// Start is called once before the first execution of Update after the MonoBehaviour is created
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}

中身の意味は次回くわしく見ます。今日はStart(){ }の中に書いていきます。

スクリプトをダブルクリックすると、Visual Studioが自動的に起動します。

Visual Studioを初めて起動すると、サインイン画面が表示されます。

Visual Studioサインイン画面
Visual Studioサインイン画面

サインインが完了したら、実際のコードを見ながらVisual Studioの使い方を学びましょう。

Visual StudioはC#プログラムを書くための統合開発環境(IDE)です。 この授業ではVisual Studio 2026を使います。

  • 自動補完:コードを途中まで書くと候補を表示
  • エラー表示:間違いをすぐに教えてくれる
  • デバッグ機能:プログラムの動きを確認できる
  • Unity連携:Unityと自動的に連携
Visual Studio起動画面
Visual Studio起動画面

FirstScriptが開かれた状態で、Visual Studioの画面を見てみましょう。

Visual Studio画面説明
Visual Studio画面説明
  • コードエディタ(中央):FirstScript.csが表示されている
  • ソリューションエクスプローラー(右):プロジェクトのファイル一覧
  • エラーリスト(下):エラーや警告を表示
  • 出力(下):実行結果を表示
  1. 文字を入力すると自動補完が表示される
  2. TabキーまたはEnterで確定
  3. Ctrl+Sで保存(超重要!必ず保存!)
自動補完機能
自動補完機能

ほかのショートカット(コメント化、自動整形など)は 付録Aにまとめてあります。

Visual Studioで開いた「FirstScript.cs」を以下のように編集します:

using UnityEngine;
public class FirstScript : MonoBehaviour
{
// Start は最初に1回だけ実行される
void Start()
{
// 変数の練習
string name = "Unity太郎";
int age = 15;
float height = 165.5f;
// Unityのコンソールに表示
Debug.Log("名前:" + name);
Debug.Log("年齢:" + age);
Debug.Log("身長:" + height + "cm");
// 計算の練習
int nextAge = age + 1;
Debug.Log("来年は" + nextAge + "歳になります");
}
}

プログラムを入力するときは、Tabキーによる自動補完を積極的に使いましょう!

Tab補完の例
Tab補完の例
入力 Tab後 説明
str string 文字列型
De Debug デバッグクラス
Log Log() ログ出力メソッド
flo float 小数型
bo bool 真偽値型

Debug.Logには3種類あり、用途によって使い分けます:

// 通常のログ(白色で表示)
Debug.Log("通常のメッセージ");
// 警告(黄色で表示)
Debug.LogWarning("注意が必要です");
// エラー(赤色で表示)
Debug.LogError("エラーが発生しました");

GameObjectにスクリプトをアタッチ

Section titled “GameObjectにスクリプトをアタッチ”
  1. Hierarchyで空のGameObjectを作成(右クリック → Create Empty)
  2. 名前を「ScriptTest」に変更
  3. FirstScriptをドラッグ&ドロップ
スクリプトアタッチ
スクリプトアタッチ
  1. 上部の再生ボタン(▶)をクリック
  2. Consoleウィンドウを確認(Window → General → Console)
  3. Debug.Logの内容が表示される
コンソール出力結果
コンソール出力結果

プログラムは最初から正しく動くことのほうが少ないものです。 エラーの読み方を先に覚えておきましょう。

エラー表示例
エラー表示例
  • 赤い波線:エラー(必ず修正が必要)
  • 緑の波線:警告(動くけど改善したほうがいい)
  • 青い波線:情報(より良い書き方の提案)
  • 赤いアイコン:エラー(実行できない)
  • 黄色いアイコン:警告(実行はできる)
  • 白いアイコン:通常のログ(Debug.Log)
エラーメッセージ 原因と対処法
; expected セミコロンを忘れている → 文末に ; を追加
The name 'xxx' does not exist 変数名が間違っている → スペルを確認
Cannot convert type 型が違う → 正しい型に変更
} expected 波括弧が閉じていない → } を追加

ここに載っていないエラーは付録E:困ったときはを見てください。

基礎課題全員必須

UnityでFirstScriptを作成して実行:

  • 自分の名前、年齢、好きな科目を変数に入れる
  • それぞれの型(string, int)を正しく使う
  • Debug.Logで表示する
  • Unityで実行してコンソールで確認

標準課題時間があれば

型のちがいを確かめる:

  • int a = 7; int b = 2;を作り、a / bの結果をDebug.Logで表示する
  • 同じ計算をfloatでも行い、結果を比べる
  • 整数どうしの割り算では小数が切り捨てられることを確認する

発展課題チャレンジ

わざとエラーを出して直す:

  • セミコロンを1つ消して、どんなエラーが出るか記録する
  • 変数名のつづりを1文字変えて、エラーを記録する
  • 波括弧\}を1つ消して、エラーを記録する
  • それぞれエラーメッセージを読んで、自分で直す
  • こまめに保存Ctrl+S を習慣に!編集したら即保存!
  • 保存の確認:ファイル名の横の「*」マークが消えているか確認
  • エラーは上から順に:最初のエラーから直す(1つ直すと他も消えることが多い)
  • 自動補完を活用:スペルミスを防げる
デバッグのヒント
デバッグのヒント

今日書いたStart()は、開始したときに1回だけ動くものでした。

次回は毎フレーム動くUpdate()を使って、オブジェクトを実際に動かします。 ゲームが「静止画の連続」でできていることも、あわせて学びます。