一、 事件顺序
gameObjet= Instantiate
gameObjet.自定义函数
gameObjet.SetActive(true)
gameObjet.Awake (在 gameObjet.SetActive(true) 之后)
gameObjet.Start (在 gameObjet.SetActive(true) 之后)
二、预设体使用
例子:Button 点击创建 预设体 BagPanel
Instantiate 创建的预设体的 RectTransform 不会被复制
三、脚本控制 RectTransform
对齐模式主要是 anchorMin 和 anchorMax 这两个设置
这个模式不好,如果设备分辨率低,会造成不显示的情况
//设置 RectTransform
RectTransform rectTransform = gameObject.GetComponent<RectTransform>();
rectTransform.anchoredPosition3D = Vector3.zero;//布局位置
rectTransform.anchorMin = new Vector2(0.5f, 0.5f);//布局模式
rectTransform.anchorMax = new Vector2(0.5f, 0.5f);//布局模式
rectTransform.localScale = new Vector2(1, 1);//缩放
rectTransform.sizeDelta = new Vector2(800f, 200f);//宽高
四、延迟函数
//延迟函数
IEnumerator DelayMethod(float delayTime, Action action)
{
//受到TimeScale影响
yield return new WaitForSeconds(delayTime);
不受到TimeScale影响
//yield return new WaitForSecondsRealTime(delayTime);
//Show(Id, ModelId, Image.sprite, 1);
action.Invoke();
}
//调用
StartCoroutine(DelayMethod(0f, () => {
//你要延迟调用的函数
Show(Id, ModelId, Image.sprite, 1);
}));