public static GameObject Create(string strName, bool bIsAutoDestory, Transform transParent = null) { Object objPrefab = CResourceSys.Instance.LoadEffect(strName); GameObject objEffect = ObjectPoolSys.Instance.Create(objPrefab); EffectObject objectEffect = objEffect.GetComponent <EffectObject>(); if (null == objectEffect) { objectEffect = objEffect.AddComponent <EffectObject>(); } //有些拖尾特效需要缓存一段时间才能用 if (!objectEffect.CanActive()) { ObjectPoolSys.Instance.Destroy(objEffect); objEffect = ObjectPoolSys.Instance.Create(objPrefab, true); objectEffect = objEffect.AddComponent <EffectObject>(); } if (null == transParent) { objEffect.transform.parent = EffectRoot; } else { objEffect.transform.parent = transParent; } objEffect.transform.localEulerAngles = Vector3.zero; objEffect.transform.localPosition = Vector3.zero; objectEffect.Begin(bIsAutoDestory); return(objEffect); }