void Awake()
{
Clone();
objects = GameObject.FindGameObjectsWithTag("ClonedObject");
float size = objects[0].transform.localScale.x;
}
浮动大小仅用于测试。
Inside Clone()函数我设置每个游戏对象的大小
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是全局的
我想在Awake函数中找到数组中所有游戏对象的游戏对象最大尺寸。所以浮动大小将获得最大的游戏对象大小。 然后找到游戏对象的半径,这样大小/ 2我认为。
然后我想在其他脚本中使用变量大小,所以我将使它成为全局公共和静态。但首先我如何从阵列中找到尺寸最大的游戏对象?
答案 0 :(得分:0)
但首先我如何从阵列中找到尺寸最大的游戏对象 ?
在Awake()
方法中,您可以简单地使用a for each循环来查找最大值。
float LargestSize = 0;
foreach(var element in objects){
float Size = element.transform.localScale.x;
if(Size > LargestSize) LargestSize = Size;
}
答案 1 :(得分:0)
我不太了解团结,但我能想到的最简单的方法就是按照他们的大小来排序,然后选择第一个:
var maxsize = objects.Max(i => (int?)i.Size) ?? 0;
如果您只需要大小,请使用以下内容:
{{1}}