历史原因,目前有个项目是unity4.3版本,偶然发现 transform.GetChild 获取的顺序并不是想要的。使用两个版本进行测试。
using UnityEngine; using System.Collections; public class GetChildTest : MonoBehaviour { // Use this for initialization void Start () { var childCount = transform.childCount; for (int idx = 0; idx < childCount; idx++) { var child = transform.GetChild(idx); if(child) Debug.Log(child.name); } } }
解释:上面这段代码是测试根据索引获取到的child是否按名字顺序
注意:getChild()只能获取 active = true 的transform。
在有bug的unity版本中,使用FindChild(xxx+index)保证按顺序获取到child