Unityプログラミング応用(グラフ作成)の続編です。
http://catlikecoding.com/unity/tutorials/graphs/
Mathfとは?
Mathfは構造体であり、便利な数学的な処理を行うことが出来るstaticメソッドや変数の集合体である。関数ライブラリである。
列挙型(enum)とは?
enumという型(列挙型)を用いて名前を順番に列挙した集合である列挙体を定義することが出来る。この型の変数は名前をこの変数のひとつとして持つことが出来る。これらの名前はデフォルト0から始まる数字と対応している。
限られた選択肢を提供した場合に便利である。
デレゲートとは?
値およびオブジェクト参照を変数に格納できるのであればメソッド参照も格納が可能できるだろうか。答えはイエスで、それがまさにデレゲートである。
デレゲートの型はメソッドを作成するのと同様に定義することが出来て、違いはコードの本文(body)がないことだけである。その後はこの型をしようしてデレゲート変数を作成し、型に合うメソッドを割り当てることが出来る。
その後はこの変数をメソッドであるかのように扱うことが出来る。
デレゲートはより複雑なものもあり、リストのように動作してより複雑なイベント処理も可能であるが本講座では割愛する。
メソッド名を2回用いているのは何故?
文章により言葉の文脈における意味がまったく異なる、と同じことを意識する必要がある。
FunctionOption列挙体の中を覗いてみると、ただの単語の一覧であることが分かる。メソッド名と同じ名前であるのは今回たまたま同じ名前の設計にしただけであって同じである必要性はない。
functionDelegates配列の宣言を覗いてみると、メソッドへの実参照であり、この場合は同じ名前でないと機能しない。
記号の?はどのように用いる?
記号の?のを記号の:と組み合わせることで、if文を省略(インライン化した記載)出来る。例えば:
int y; if(x > 1) { y = 10; } else { y = 20; }を省略するとint y = x > 1 ? 10 : 20;-------
Unityプログラミング応用のその1、その2をマスター出来ていると自信がある場合はリンク先の英語サイトのコードを参照下さい。
デレゲートなど私自身はうる覚えだということを確信しましたが(汗)、具体例があるので理解が深まります。プログラミングも応用することでゲーム開発に生かすぞ!
0 件のコメント:
コメントを投稿