「Unityプログラミングの基礎」の続編です。
まとめ部分(後半)の翻訳です:
http://catlikecoding.com/unity/tutorials/clock/クラスとは?
クラスとはオブジェクトを自身のコンピュータメモリ上で展開するうえでの設計図である。設計図によりこれらオブジェクトがどのようなデータが含まれているかとその振る舞いが定義される。
MonoBehaviourとは?
UnityEngine名前空間に含まれるクラスである。Unityコンポーネントとしてクラスを作成する場合はMonoBehaviourから継承する。便利な機能が標準で組み込まれており、例をあげるとフレームごとの更新処理ができるUpdate()など含まれる。
変数とは?
変数とは加工できる値である。オブジェクト、整数など参照させることが出来る。変数はあらかじめ使用前に型宣言が必要である。
また変数はあらかじめ定義された有効範囲でのみ使用することが出来る。デフォルトではクラス内が 有効範囲である。さらにそのクラスからインスタンス化されたオブジェクトはインスタンス毎にローカルな値を持つ。しかしstatic宣言することで、全てのインスタンスから同じ値を参照する。もし変数がメソッド内で宣言された場合はそのメソッド呼び出しが行われた時のみ存在する。
メソッドとは?
メソッドはクラスに定義された一連の動作である。入力値を処理して出力値に変換する。メソッド定義の際に入力値を持たない場合は、「メソッド名()」と記載する。出力値を持たないメソッドはvoidと記載する。
デフォルトでメソッドは通常オブジェクトに対する動作を定義するが、オブジェクトを必要としない動作を定義することも出来る。その場合はメソッドそのものをstatic宣言して記載する。
const(定数)の特徴は?
constと記載すると実行中に値が変わることのない定数であることを明示することになる。値はコンパイル時に計算され、参照されればその値が渡される。
コンパイル時に全ての定数はあらかじめ計算されるため、たとえば(1+1)と記載することと2と記載することは全く同じことを意味する。
struct(構造体)とは?
struct(構造体)とはクラス同様に設計図のようなものにあたる。違いはstructとして作成される場合はオブジェクト型ではなく値型(整数、等)である。
すなわちオブジェクトのような何かの概念を表現する性質は持たず単純な値をあらわす場合に用いる。
プロパティとは?
プロパティとは変数に見せかけたメソッドである。読み取り/書き込み専用とすることが出来る。
クォータニオンとは?
クォータニオンは複雑な数字から算出され、三次元回転をあらわす。単純な三次元ベクトルより理解することが難しいが便利な特性がいくつか存在する。Quaternion構造体はUnityEngine名前空間に存在する。
rotationをでなくlocalRotationを使用するのはどんな場合?
localRotationは配置(Tranform)の実際の回転を表し、親オブジェクトの回転とは独立している。たとえば時計オブジェクトを回転する場合には針はそれに沿って回転する。
rorationは配置(Transform)の最終的な回転を表し、親オブジェクトの回転と依存している。たとえば時計全体を回転させた場合に針はそのままの状態で維持される。
型キャスト(casting)とは?
型キャストをすることで変数の型を明示的に変換することが出来る。型キャストを記載する場合は値の前に型を()の前に記載する。型キャストを単純な変数に対して行うと、たとえば浮動小数を整数にすると小数点以下が切り捨てられる。
オブジェクト参照で型キャストした場合はオブジェクトは変換されず、参照の扱い方のみが異なる。オブジェクトの型がはっきりと分かっている場合のみに用いることになる。
---------
抽象的な概念ばかりでしたが、Unityプログラミング基礎のその1、その2をマスター出来ていると自信がある場合はリンク先の英語サイトのコードを参照下さい。
「このコードが何故ここで使われる必要があるのか?」の具体例があるので力がつきます。またプログラミングはどうしても英語が用いられれますが、苦手意識が減ります。
また筆者自身はUnityにおけるC#について概念を勉強する場合は以下のリンク先が最強と考えています:
http://www.slideshare.net/lucifuges/unityc
プログラミングも基礎をしっかり覚えることで実力がつくぞ!
0 件のコメント:
コメントを投稿