2017-03-01 5 views
-1
void Awake() 
    { 
     Clone(); 
     objects = GameObject.FindGameObjectsWithTag("ClonedObject"); 

     float size = objects[0].transform.localScale.x; 
    } 

フロートサイズはテスト用です。配列から最大のgameobjectのサイズを見つける方法はありますか?

インサイドクローン()関数は、私はそれぞれのゲームオブジェクトのサイズを設定し

for (var i = 0; i < ObjectCount; i++) 
     { 
      var o = Instantiate(ObjectToCreate); 
      o.tag = "ClonedObject"; 
      o.transform.SetParent(base.gameObject.transform); 
      o.transform.localScale = new Vector3(ObjectSize, ObjectSize, ObjectSize); 

変数ObjectSizeは、私はゲームオブジェクト形式の最大の大きさを見つけるために、覚醒機能にしたい

グローバルですべてのゲームオブジェクト配列内にあります。だからフロートサイズは最大のgameobjectのサイズを取得します。 次にgameobjectの半径を見つけるためにsize/2と思います。

その後、私はそれをグローバルパブリックとスタティックにするために、他のスクリプトで可変サイズを使用したいと思います。しかし、まず、どのように私は配列からサイズで最大のgameobjectを見つけるのですか?

答えて

0

しかし、まず、配列から最大サイズのgameobjectを見つけるには ?

Awake()メソッド内では、ループごとに単純に最大値を見つけることができます。

私は団結について多くを知っているが、私はその大きさによってそれらを注文していると考えると、最初のものを取ることができる最も簡単な方法はいけない
float LargestSize = 0; 
foreach(var element in objects){ 
    float Size = element.transform.localScale.x; 
    if(Size > LargestSize) LargestSize = Size; 
} 
0

:あなただけの大きさは、次を使用する必要がある場合は

var maxobj = objects.OrderByDescending(i => i.Size).FirstOrDefault(); 

var maxsize = objects.Max(i => (int?)i.Size) ?? 0; 
関連する問題