0
我似乎无法找到对此的答案,我相信现在无法做到这一点。将gameobject设置为非活动状态并显示最小值
我有一个玩家收集gameobjects,当gameobjects收集他们成为玩家的孩子。所有的gameobjects都有一个不同质量的刚体,但是重复的gameobjects有相同的质量偏差。
当游戏对象被收集时,玩家大量增长。
我想要做的是,当玩家达到一定的质量和收集另一个gameobject时,我想让最小质量的gameobject设置为不活动。
我已经得到了这个:
Component[] objects = GetComponentsInChildren(typeof(Rigidbody), false);
foreach (Rigidbody joint in objects)
{
float smallest = Mathf.Min(joint.mass);
if (smallest <= mass/100 && joint.gameObject.activeInHierarchy)
{
int i = 0;
bool plus = false;
while (i < transform.childCount)
{
if (transform.GetChild(i).gameObject.activeInHierarchy && plus == false)
{
transform.GetChild(i).gameObject.SetActive(false);
Debug.Log("disabled");
plus = true;
}
i++;
}
}
}
这台播放器不活动的第一个孩子游戏物体达到一定数额的质量之后。
但是这不是我真正想要的,我想获得最小质量的gameobject来设置不活动,但我不能转换“float minimum = Mathf.Min(joint.mass);”回到一个gameobject。
这是可能达到或仅仅是不可能的吗?
OMG我不知道System.Linq的。我猜我必须学习更多。这完全工作,一直坚持这个为2天,谢谢你非常mutch竖起大拇指! –