只实例化一个静态实例,避免重复创建实例

    xiaoxiao2021-12-14  24

    public class AIconbg : MonoBehaviour { public static Transform instanceTransform;//静态实例 void OnDestroy() { instanceTransform = null;//切换场景时将引用删除,避免切回场景下次实例时报空 } }

    在一级按钮下实例化二级按钮(二级按钮在每次切换一级按钮时只有一个实例),且位置在一级按钮中心左侧:

    public List<GameObject> A_Icon = new List<GameObject>();//二级按钮 public GameObject A_Icon_bg;//二级按钮板 void Start() { this.transform.GetComponent<Toggle>().onValueChanged.AddListener(Ischange); } private void Ischange(bool isTrue) { if (isTrue) { if (AIconbg.instanceTransform == null) { GameObject obj = (GameObject)Instantiate(A_Icon_bg, new Vector3(0, 0, 0), Quaternion.identity); AIconbg.instanceTransform = obj.transform; } Transform t = AIconbg.instanceTransform; t.SetParent(this.transform); t.localScale = Vector3.one; t.localPosition = new Vector3(-71, 0, 0); AIconbg.instanceTransform.gameObject.SetActive(true); } }
    转载请注明原文地址: https://ju.6miu.com/read-970220.html

    最新回复(0)