【読書メモ】Unityの教科書(2)

私が読んだ書籍のポイントを備忘録としてメモ書き。
今回は「Unityの教科書」から。

Chapter 2 C#スクリプトの基礎

スクリプト作成

  • スクリプトを動かすには何らかのゲームオブジェクトにアタッチする必要がある。
  • Unityエディタを起動して、スクリプトとゲームオブジェクトを作成
    • スクリプト:Projectウィンドウ内で右クリック、CreateC# Script。作成直後にリネーム
    • ゲームオブジェクト:Hierarchyウインドウ左上の+をクリック、Create Empty
  • 作成したスクリプトを作成したゲームオブジェクトにDrag&Dropしてアタッチする。
  • 作成したC#スクリプトには、空のStartメソッドとUpdateメソッドが定義されている
    • Start() スクリプト起動直後に実行
    • Update() 毎フレーム実行
    • フレーム間隔はTime.deltaTimeから知ることができる
  • 各行の末尾には「;」が必要
  • 実行ボタンで実行。Debug.Log()の結果はconsoleへ表示される。
  • Hierarchyウインドウのゲームオブジェクトがアクティブになったときにアタッチされているスクリプトが実行される

基本文法

  • 変数
    • 型:int, float, double, bool, char, string。文字はUnicode
    • double型をfloat型に代入することは禁止。floatのリテラルは末尾にf
  • 演算子、構文
    • +=や++のような演算子も使用可。+は文字列同士だけでなく数値と文字列の連結も可能
    • if, for はC++と同じ。ブロックは波かっこ「{ }」。else節は「else if」 if ... else if ... else
  • 配列
    • 宣言:int a; ※ の位置に注意
    • 素数を指定するとき:int a= new int[5]; ※[を使う点に注意
    • 初期値を代入するとき: int a = {1,2,3,4,5};
    • 素数a.Length
  • クラス
    • アクセス修飾子(public,private)を省略するとprivateとみなされる
    • 自分自身はthisで表す。省略可だが明示的に書いたほうが安全。
    • クラス定義の後ろの「: ~」は継承を意味する。
    • MonoBehaviourはゲームオブジェクトの基本機能を備えたクラス(Unityが用意)
    • C++と同様にstaticメソッドも存在
  • Vectorクラス(Vector2, Vector3など)
    • Vector3はfloat型のメンバx,y,zを持つ。 ※正確には構造体
    • 他にもメンバ変数あり。magnitudeはベクトルの長さ