◇C#でのクラス記述方法


Unity固有のルールも含めて,C#でクラスを記述する方法をまとめ

●ソースファイルの形式

・ファイル名は半角英字で始めて,半角英数字と_と-のみで記述する(原則としてファイル名=クラス名だからという理由もある)
・拡張子は .cs
・文字コードは UTF-8で,先頭に BOMを付与する
・改行コードは LF
この形式に合わせると,WinとMac間でプロジェクトを移動させても問題無く動作します

実際 Win版で BOMを付与しなかった場合『error CS1010: Newline in constant』が発生します
日本語を全く記述しなければ問題ないのかもしれません

●Unity用の C#クラス雛形

using UnityEngine;
using System.Collections;

public class hinagata : MonoBehaviour {
  void Awake() {
    //起動時にまとめて実行される
  }

  void Start() {
    //Update直前にまとめて1度だけ実行される
  }

  void FixedUpdate() {
    //一定間隔(0.01f秒)でまとめて実行される(物理演算用)
  }

  void Update() {
    //画面更新可能時(不定期)に実行される(描画用)
  }

  void LateUpdate() {
    //Update直後にまとめて毎回実行される
  }

  void OnGUI() {
    //GUIイベント発生時に実行される
  }
}

●実行順序の設定

各クラスに記述したメソッドを,どのクラスのものから処理するのかを設定する事ができます

エディターメニューのEdit→Projrct Settings→Script Execution Order
Inspectorに順序を設定したいクラスをドロップする

上から順に処理されるので,ドラッグして並び替える
削除したい時は,右の-をクリック

たぶん,Default Timeがこの設定をしていないクラス全てを意味するが,マニュアルからはその確証を得られない(Default Timeとは? の説明が見当たらないため)
これよりも上なら前処理,下なら後処理になるのだろう


Melonbooks DL