Unityの基礎知識(初心者向け)


GetComponentのこと

Unityでスクリプトを書いていると、この"GetComponent"というのがよく出てます。このサイトのチュートリアルでもよく出てきたと思います。では、これはいったいなんなのでしょうか。

 

Get ...日本語で、得る、手に入れる、という意味です。

Component...は、UnityのオブジェクトにつけるComponentのことで、<Inspector>ウィンドウに表示されているものです。

つまり、GetComponentは、<Inspector>に表示されている、そのオブジェクトについているComponentを手に入れる、という指令です。

たとえば、

Rigidbody rigidbody = GetComponent<Rigidbody>();

 

といえば、そのオブジェクトにつけている<Rigidbody>コンポーネントを呼び出しているのです。

 

これを理解していれば、たとえば<SpriteRenderer>コンポーネント(絵に関するコンポーネントです)の色を変えたい。つまり、colorにアクセスして、それを変更したい、というときには、

 

GetComponent<SpriteRenderer>().color

としてやればよいわけです。

 

GetComponent<SpriteRenderer>().color = new Color(1f,1f,1f);

 

とすると、白になります。

 

 


コライダーのこと

Box Collider 2D とか、Circle Collider 2Dとか、このチュートリアルでもすべてのゲームでコライダーをつけました。

 

ふつうのUnityチュートリアルでは、ゲームオブジェクト同士が接触したかどうか判定するために、コライダーは使われます。

たとえば、Rigidbody2Dと一緒につけてやれば、そのオブジェクトは落下し、床にコライダーをつけておけば、オブジェクトは床の上で止まります。

 

しかし、このサイトで紹介しているパズルゲームでは、オブジェクトに自由落下させているものは、ツムツム風ゲームしかありません。それでも、すべてのゲームでコライダーを使っています。

それは、コライダーは、ゲームオブジェクト同士の接触も検知しますが、ゲームオブジェクトとユーザーとの接触(つまりクリック、タップ)も検知するからです。なので、ライツアウトのライトや、マッチ3パズルのキャンディにもコライダーをつけているのです。

 

 

 

Profile

string name = "Renoboy";

string message = "《Unity,C#》に詳しくない私による、詳しくない人のためのチュートリアルです。詳しくないので、難しいことは決して教えません。";

 

Appale-Takemuroid