【Unity/C#】Start()(起動スイッチ)の基本と仕組み

Unityコード専用検索

コードの型

スクリプトが読み込まれた直後に、自動的に一度だけ実行されます。

C#

void Start()
{
    // ゲーム開始時に一度だけやりたい処理を書く
    Debug.Log("ゲームがスタートしました!");
    
    // 例:スタート時にプレイヤーを初期位置へ移動させる
    transform.position = new Vector3(0, 0, 0);
}

コードの仕組み

Start() はUnityが特別に用意した「特別な名前のメソッド」です。

  • 自動実行: プログラマーが Start() を呼ぶ命令を書かなくても、Unityがゲームの開始を検知して、「あ、この Start() っていう箱があるな。じゃあ中身を動かそう」と勝手に実行してくれます。
  • 一度だけ: ゲームの開始時に「一度」だけ実行され、そのあと二度と自動では呼ばれません。

活用例(初期設定)

ゲームを始めた時に、ステータスを準備したり、画面を初期状態に戻したりするために使います。

C#

void Start()
{
    // 最初のスコアを0にする
    score = 0;
    
    // スタート画面を表示状態にする
    startPanel.SetActive(true);
    
    // 敵を出現させるなどの初期準備
    SpawnEnemies();
}

その他(Start() に関する重要ポイント)

  • Update() との違い:
    • Start():ゲーム開始時に一度だけ。初期設定(準備)に使う。
    • Update():ゲーム中、毎フレーム(1秒間に60回など)。動きの更新に使う。
  • 名前のルール: 名前は必ず Start(Sは大文字)にしてください。一文字でも違うと、Unityは「これはただの普通のメソッドだな」と認識してしまい、自動で実行してくれません。
  • タイミング: オブジェクトがシーンに登場し、スクリプトが有効になった瞬間に呼ばれます。

まとめ

Start() は、いわば「ゲームの準備体操」です。

  • Start() で「スコアは0から!」「パネルは表示!」「プレイヤーはここから!」という準備を整え、
  • その後 Update() で「毎秒スコアを計算!」「毎秒キー入力をチェック!」という動的な処理を行う。

このセットで考えると、Unityのプログラムはすごく整理しやすくなりますよ!

コメント

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