質問: q; //ここ num++; } } ``` 最初のスクリプトではthisがあるのに次のスクリプトではthisがありません。 thisというのはそのクラス(MonoBehaviourを継承しているmyscript?)のインスタンス自身ですよね? 両方のスクリプトでthisを加えたり無くしたりしてみましたが、動作も変わってないみたいで、どんな意味があるのかよくわからないです。 この場合thisはあってもなくてもいいのでしょうか? その場合、どんな時にthisが必要になるのでしょうか? ちなみに、以下のサイトを参考に学習していました。 C#ではじめるUnityプログラミング入門
回答: その場合はあっても無くても大丈夫です。今の理解であっています。 仮にこういう内容だった場合 ``` public class myscript : MonoBehaviour { private float num; void Start () { num = 1.0f; } void Update (Transform transform) { // 引数で同じ名前で受け取っている Quaternion q = Quaternion.Euler(num, num, num); transform.rotation = q; // 引数が使われる this.transform.rotation = q; // myscriptのメンバーが使われる num++; } } ``` 「このインスタンスの」を明示するのために必要となります。 メンバ変数の名前と競合していない(引数やローカル変数とかぶっていない)場合、thisは付けても付けてなくても同じです。 インテリセンス出すために書いてる人もいましたが...。 理由が無ければ付けない事が多いと思います。 Javaですが、最近似たような質問がでてますので、こちらも参考になると思います。 Javaでthisが必要な場合