ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

Unityスクリプトリファレンスを読む ~その1~

はじめに

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関数かなのが分かったのでためになった。