ScriptではMonoBehaviourを継承したクラスを宣言する必要があるそうです。
http://docs.unity3d.com/Documentation/ScriptReference/index.Writing_Scripts_in_Csharp_26_Boo.html
MonoBehaviourはBehaviourを、BehaviourはComponentを継承しているので、Scriptで宣言したクラスはComponentです。ComponentはGameObjectに付属するものなので、ScriptはGameObjectに付属されることで、実行されます。
Componentには、Componentが付属するGameObjectに付属するComponentを取得できる変数がたくさん用意されています。これを利用すれば、Script内でそのScriptが付属するGameObjectのTransformに
transform
という変数で一発アクセスができます。
Script内でTransformにアクセスする場合、 上のように階層構造のイメージで考えると、
self.gameObject.transform
(self : Script自体の参照型変数)
としないとアクセスできなさそうですが、UnityではComponentにComponentが付属するGameObjectに付属するComponentを取得できる変数を用意しているため、
transform
とするだけでアクセスできるようになっているわけです。
時々混乱するので、みー用にまとめてみました。
詳細は以下のページをご覧ください。
- Component (http://docs.unity3d.com/Documentation/ScriptReference/Component.html)
- Unityで使える便利なメンバ変数名一覧
(2012.12.30)