unityで2つのゲームオブジェクト間の距離を取得するメソッドを書いていたのですが、戻り値がfloat型ではなく、object型で帰ってきてしまいます。なぜでしょうか。引数はGameObject型です。
ご教授いただければ幸いです。よろしくお願いいたします。
C#
1 public float Distance(GameObject obj1, GameObject obj2) 2 { 3 float x = obj1.transform.position.x - obj2.transform.position.x; 4 float y = obj1.transform.position.y - obj2.transform.position.y; 5 float z = obj1.transform.position.z - obj2.transform.position.z; 6 7 float distance; 8 distance = Mathf.Sqrt(x * x + y * y + z * z); 9 return distance; 10 }
そのobject型で返ってくるというのはどういうふうに確認したもんでしょうか
それ以前に Vector3.Distance で距離が測れます。
https://docs.unity3d.com/ja/2019.1/ScriptReference/Vector3.Distance.html
floatの返り値の型をどこで確認されたのか分かりませんが、Object型を継承したSystem.Single構造体の別名(エイリアス)がfloatだから、ではないでしょうかね。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/floating-point-numeric-types
回答1件
あなたの回答
tips
プレビュー