Unityのお勉強#2【using文】

ゲーム制作

C#スクリプトの最初の最初を理解する

こんにちは。poundです。

Unityお勉強回 ”第2回” です。

今回も自分が理解するために、Unityの基本中の基本について記事にまとめていきます。

もし同じことを勉強している方がおられたら、参考にしていただければと思います。

 今回はUnityでC#スクリプトを作成したとき、はじめから書いてある謎の呪文『using文』についてまとめていきます。

usingは、名前空間へのアクセスを省略するために使う

using xxx と書くと、xxx という名前の「名前空間」にアクセスすることができる。

例えば、「UnityEngine」という名前空間にアクセスするには、以下のように書く。

 

using UnityEngine;

 

「名前空間」とは、クラスや関数が住んでいるひとつの町のようなもの。

using文を使って名前空間にアクセスしておくと、UnityEngineの中にあるクラスや関数はいつでも呼び出せるようになる。

「UnityEngine」の中にある「Transform」というクラスにアクセスするには、以下のように書く。

using UnityEngine;

 ...

Transform myTransform = gameObject.GetComponent<Transform>();

先にusing文を使って、UnityEngineにアクセスできるようにしておく。

そうすれば、Transformというクラスにそのままアクセスでき、’mytransform’という名前の変数に、C#スクリプトの紐づいたゲームオブジェクトからTranformコンポーネントの値を取得し、変数に代入することができる。

 

using文を使わないとプログラムが冗長になり、書くのが「めんどくさい」

実は、using文を使わなくても問題ない。

using文を使わない場合、先ほどのプログラムは以下のように書ける。

 

UnityEngine.Transform myTransform = gameObject.GetComponent<UnityEngine.Transform>();

 

Transformの前に、すべて「UnityEngine」がついている。

これは、using文を使わなかったため名前空間にアクセスしておらず、「UnityEngine」の中のTransformにアクセスするために、毎回「「UnityEngine」の中のtransform」と言わなければならなくなるからだ。

今回は一文だけなので手間はあまり感じられないが、長く複雑なコードを書くと非常に面倒になる。

だから予めusing文で「UnityEngineの中にいるものをこれから使うよ」と宣言しておくのだ。

 

まとめ

今回は、UnityのC#スクリプトに初めから書かれている呪文「using」について学んだことをまとめました。

  • using文は名前空間にアクセスするために使う
  • 名前空間とは、役割の似たクラスや関数を一つの場所にまとめた町のようなもの
  • usingで最初に名前空間を宣言しておくと、その後その中のものはいつでも使えるようになる。
  • usingで名前空間を宣言しなくてもクラスや関数は使用できるが、最初の名前空間から書かないと使えないため、プログラムが長くなりめんどくさいし、読みにくい。

 次の記事では名前空間の中にあるクラスや関数についてまとめたいと思います。

 

ではまた次回。

コメント

タイトルとURLをコピーしました