###疑問点
①疑問
今学んでいるテキストのコードで、
「Vector3のインスタンス.Normalize();」
とありました。
Vector3.Normalizeメソッドについて調べると
Vector3.Normalizeメソッドの公式リンク
Vector3.Normalizeメソッドはスタティックメソッドなので、
インスタンス名.Normalize()という使い方はできないはずですが、
「Vector3のインスタンス.Normalize();」とできるのは
Nomalizeメソッドが拡張メソッドだからでしょうか?
②疑問
Normalizeメソッドが拡張メソッドだとすると、
Normalizeメソッドの第一引数にthisキーワードをつけて定義するはずですが
それが公式リンクにはありません。
これは省略しているということでしょうか?
またどうやって拡張メソッドかどうか見分けることができるのでしょうか?
③疑問
Vector3.Normalizeに関係ないのですが、
今学んでいるテキストでは、プレイヤーのポジションを得るときに、
プレイヤー.transform.localPosition としています。
プレイヤーはどのオブジェクトとも親子関係になっていません。
親子関係なしのときは、localPositionとpositionは同じ意味になりますか?
なぜプレイヤー.transform.positionではないのでしょうか?
今までNormalize関数について意識せずにつかっていたのですが、
公式リンクを見ると、staticメソッドなのに気づいて使い方があっているかわからなくなったので質問しました。
ご回答宜しくお願いいたします。
### 該当のソースコード C# playerPos はプレイヤーのtransform.localPositionです。 Enemyスクリプトの一部↓ var direction = playerPos - transform.localPosition; direction.Normalize(); transform.localPosition += direction * m_speed;
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/20 04:10
2019/03/20 04:34
退会済みユーザー
2019/03/20 04:51