質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1245閲覧

Unity transform

Urara__

総合スコア10

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2016/11/04 09:55

編集2016/11/04 10:15

初歩的な質問になりますが、
transformthis.transformthis.gameObject.transform の違いはなんでしょうか?
調べてみたところ同じ意味のように感じたのですが何か区別はあるのでしょうか?
positionに値を代入するときに、ふと気になったので教えて頂けると嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

結論から言うと「同じもの」です。
使用する際は短い方が(見た目的にも処理的にも)良い場合が多いので「transform.position」をオススメします。


■解説
「this」は「このスクリプト」(正確には「インスタンス化されたこのスクリプト」)を指します。
「this.transform」は「このスクリプトが付いているオブジェクトに付いているTransform」、
「this.gameObject」は「このスクリプトが付いているオブジェクトに付いているGameObject」が自動的に入るようになっています。
thisは省略可能なので、「this.transform」と「transform」は同じものを指していることになります。

GameObjectもクラス内に「transform」のプロパティを持っています。
つまり「this.gameObject.transform」は「このスクリプトが付いているオブジェクトに付いているGameObjectに付いているTransform」という意味になります。
何だか長ったらしいですが、上の「this.transform」「this.gameObject」と見比べると、結局同じものを指しているのが分かるかと思います。

「私の鼻」と「私の顔に付いている鼻」は同じもの(私=this、鼻=transform、顔=gameObject)
とイメージすると分かりやすいかもしれません。

投稿2016/11/05 06:15

sakura_hana

総合スコア11427

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Urara__

2016/11/05 06:35

分かりやすい説明ありがとうございます! this.transformについてスクリプトにtransformはないじゃないかと思っていたのですが、自動的にスクリプトのついているオブジェクトのtransformを指すんですね。 gameObject.transform.position も同じものという認識であっていますでしょうか?
sakura_hana

2016/11/05 06:46

>gameObject.transform.position 同じものです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問