会遍历所有的Component,对OnEnter或者OnDisable,这样会造成脏数据,特别是Text组件。 优化: C#层设置标识,判断是否隐藏 将要频繁变化的UI元素与不频繁变动的UI元素分开(动静分离) 通过将UI元素的坐标移动到Canvas的范围之外的方法来显示与隐藏,避免SetActive的耗时以及SendWillRenderCanvases的
GameObject text;//获取notice提示文本,存在这个变量里面进行操作 public static Vector3 vec3, pos;//用于存放坐标,其变量类型也是Vector3,从官方文档抄来的,我也不知道为什么 //初始化函数 void Start() { text = GameObject.Find("notice");//获取提示文本 text.SetActive(false);//让提示文本隐藏 gameObject...
使用SetActive 激活/隐藏 UI 元素时,底层可能会重新分配对象(内存分配),容易触发垃圾回收 (GC),进一步影响性能。 组件生命周期调用的开销: 每次使用 SetActive(false) 或 SetActive(true) 时,会触发所有组件(如 OnDisable 或 OnEnable)的生命周期方法。如果对象上挂载了很多组件(如 Text、Button 等),这将导致额外的...
using UnityEngine; using UnityEngine.UI; public class Destroyed : MonoBehaviour { public static GameObject txt ; //定义txt,将文本内容所在的“gain”层赋值到txt上 void Start () { txt = GameObject.Find("gain"); txt.SetActive(false);//隐藏文本 } void Update () { } public void OnCollisionEn...
publicclassSetActiveLogic : MonoBehaviour { //获取操作对象 publicGameObject text; //文字对象 privateTextMesh textMesh; //点击时间长 publicfloattouchTime; //初始旋转角度 publicfloatxspeed = 120; //默认不是重新触摸 publicboolnewTouch =false; ...
text.text = score.ToString(); //显示分数 if (score == 6) { WinText.SetActive(true); //当丸子吃完后,显示游戏介绍文本 } Destroy(other.gameObject); //丸子吃一个销毁一个 } } } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
SetActive Transform属性变化 Graphic的Color属性变化(改Mesh顶点色) Text文本内容变化 Depth发生变化 触发Rebuild的条件: Layout修改RectTransform部分影响布局的属性 Graphic的Mesh或Material发生变化 Mask裁剪内容变化 (Rebuild通常引起Rebatch) 关注指标:Canvas.BuildBatch 函数耗时Canvas.SendWillRenderCanvases 函数耗时Draw Ca...
{// 点击到了模型,显示信息窗口并设置模型名称infoWindow.SetActive(true); modelNameText.text = gameObject.name; }else{// 点击到了其他地方,隐藏信息窗口infoWindow.SetActive(false); } } } } } 在该示例中,我们假设模型上已经附加了该脚本,并且信息窗口的UI面板和显示模型名称的文本都已经在脚本中进行了...
text上挂载的脚本 代码语言:c# AI代码解释 using UnityEngine; using UnityEngine.UI; public class ShowText : MonoBehaviour { private void Awake()//添加监听 { gameObject.SetActive(false); EventCenter.AddListener<string>(EventType.ShowText,Show);//委托,<>中变量类型与Show函数中的参数有关 ...
前后的Rigidbody必须一样,你去超市买了一瓶牛奶(Rigidbody),你得用一个“牛奶的瓶子”来装(Rigidbody 变量),不能用装水的瓶子(TextMeshProUGUI)来接牛奶。但它们的意思不一样,各自有明确的作用: Rigidbody(左边)变量的类型(你要存的是一个刚体组件) ...