从孩子到父母的转换

时间:2018-10-17 08:26:11

标签: c# unity3d transform

这是你们的图像,方便大家观看

enter image description here

ServerSelectUI包含脚本,我在其中放置了这行代码

[SerializeField]
private Transform TurnOffShield = null;

TurnOffShield = transform.Find("");

我想获得Shields GameObject。有人可以帮我找到从孩子到父母再到另一个游戏对象的问题。很抱歉这个奇怪的问题。

2 个答案:

答案 0 :(得分:0)

您可以使用

julia> using BenchmarkTools

julia> N = 10^7
10000000

julia> @btime pisum1($N)
  105.221 ms (0 allocations: 0 bytes)
3.1410964

julia> @btime pisum2($N)
  81.046 ms (0 allocations: 0 bytes)
3.1416524

julia> @btime pisum3($N)
  34.942 ms (0 allocations: 0 bytes)
3.141756

,但最好在检查器中简单引用它。


或者,如果必须更加灵活,我有时会执行以下操作:

  • 给予TurnOffShield = transform.parent.parent.Find("Shields"); 某些MonoBehaviour(可以为空),例如

    SceneSet
  • 给予public class SceneSet : MonoBehaviour {} 某些MonoBehaviour(可以为空),例如

    Shields

现在您可以使用

public class Shields : MonoBehaviour {}

答案 1 :(得分:0)

尝试:

TurnOffShield = GetComponentInParent<SceneSet>().GetComponentInChildren<Shields>().transform;

https://docs.unity3d.com/ScriptReference/GameObject.Find.html