はじめに
Unityの主要なクラスObject、GameObjectのメモ。というより公式スクリプトリファレンスの抜粋。
Objectクラス
特徴
Unity上の全オブジェクトのもとになるクラス。オブジェクトを識別するための変数やオブジェクトを取得するためのStatic関数を含む。
変数
変数名 | 説明 |
---|---|
hideFlags | オブジェクトをシーン上で隠すかどうか |
name | オブジェクト名 |
Public関数
object.Hoge()のようにインスタンスから呼び出す関数。要はインスタンスの変数のゲッター。
Public関数名 | 説明 |
---|---|
GetInstanceID() | オブジェクトのインスタンスIDを返す |
ToString() | オブジェクト名を返す |
Static関数
Object.Hoge()のようにインスタンスからではなくクラスから直接呼び出す関数。using UnityEngineしておけば使える。一部抜粋。
Static関数名 | 説明 |
---|---|
Destroy(Object obj, float delay=0.0f) | オブジェクトを破棄。遅延時間も設定可能 |
FindObjectOfType(Type type) | Typeに一致するオブジェクトのうち最初にヒットしたものを返す。オーバーロードあり。返り値の型はT型(任意)またはObject型。 |
FindObjectsOfType(Type type) | Typeに一致するオブジェクトすべてを返す。オーバーロードあり。返り値の型はT型の配列またはObject型の配列。 |
Instantiate(Object original,...) | originalのオブジェクトの複製を生成する |
GameObjectクラス
特徴
シーン上に配置するエンティティーのもとになるクラス。レイヤーやタグ、所属するシーンなどObjectクラスに比べより具体的な性質を表す変数を有する。ゲームオブジェクトを取得するためのStatic関数を含む。
継承
Object <----- GameObject
変数(一部抜粋)
変数名 | 説明 |
---|---|
layer | ゲームオブジェクトが属するレイヤー |
tag | ゲームオブジェクトに付与されたタグ |
scene | ゲームオブジェクトが属するシーン |
transform | ゲームオブジェクトにアタッチされたtransformコンポーネント (Transformコンポーネントだけ特別で変数からアクセスできる) |
Public関数(一部抜粋)
BroadCastMessageのブロードキャストって、マルチキャスト、ブロードキャストのブロードキャストみたいなもんか。
Public関数名 | 説明 |
---|---|
AddComponent(string className) | ゲームオブジェクトにコンポーネントを追加 |
BroadcastMessage(string methodName, object parameter= null, SendMessageOptions options= SendMessageOptions.RequireReceiver) | ゲームオブジェクトまたは子オブジェクトにあるすべての MonoBehaviour を継承したクラスにある methodName 名のメソッドを呼び出す。optionで指定したメソッド名が見つからないときにエラーを表示するかどうかを設定可能。 |
CompareTag(string tag) | オブジェクトがtagという名前のタグを付与されてるかどうか |
GetComponent |
ゲームオブジェクトのT型のコンポーネントを取得 |
GetComponentInChildren |
ゲームオブジェクトまたはその子らのT型のコンポーネントを取得 |
GetComponentInParent |
ゲームオブジェクトの親オブジェクトのT型のコンポーネントを取得 |
GetComponentsInChildren |
ゲームオブジェクトまたはその子らのT型のコンポーネントをすべて取得 |
GetComponentsInParent |
ゲームオブジェクトの親オブジェクトのT型のコンポーネントをすべて取得 |
SendMessage(string methodName, object value= null, SendMessageOptions options= SendMessageOptions.RequireReceiver) | ゲームオブジェクトにアタッチされているすべてのMonoBehaviourにあるmethodName名のメソッドを呼び出す |
SetActive(bool value) | ゲームオブジェクトをアクティブにする |
Static関数
関数名がFindだったりFindWithTagだったりFindGameObjectsWithTagだったりで覚えにくい。一部抜粋。
Static関数名 | 説明 |
---|---|
Find(string name) | nameと名づけられたゲームオブジェクトを取得 |
FindGameObjectsWithTag(string tag) | tagという名前のタグが付与されたゲームオブジェクトのリストを返す |
FindWithTag(string tag) | tagという名前のタグが付与されたゲームオブジェクトを返す |
まとめ
いままでなんとなくコード書いていたが、どのメンバががどのクラスから来てるのかとか、どれがPublic関数でどれがStatic関数かなのが分かったのでためになった。