如何进行NGUI战斗飘字及界面优化
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇文章为大家展示了如何进行NGUI战斗飘字及界面优化,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 飘字问题:飘字会有Alpha的渐变,当渐变到0的时候
千家信息网最后更新 2025年12月02日如何进行NGUI战斗飘字及界面优化
本篇文章为大家展示了如何进行NGUI战斗飘字及界面优化,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1. 飘字问题:飘字会有Alpha的渐变,当渐变到0的时候,会触发UIPanel的Rebuild
解决问题:查找哪些地方触发了Rebuild,在UIPanel中添加日志代码,查找出对应的UI控件,将Animation中的Alpha的最小值修改为大于0.001,并将label的位置设置到无穷远处,同时不要做显隐操作
public UIDrawCall FindDrawCall (UIWidget w) { Material mat = w.material; Texture tex = w.mainTexture; int depth = w.depth; for (int i = 0; i < drawCalls.Count; ++i) { UIDrawCall dc = drawCalls[i]; int dcStart = (i == 0) ? int.MinValue : drawCalls[i - 1].depthEnd + 1; int dcEnd = (i + 1 == drawCalls.Count) ? int.MaxValue : drawCalls[i + 1].depthStart - 1; if (dcStart <= depth && dcEnd >= depth) { if (dc.baseMaterial == mat && dc.mainTexture == tex) { if (w.isVisible) { w.drawCall = dc; if (w.hasVertices) dc.isDirty = true; return dc; } } else mRebuild = true; if (mRebuild) { DebugShow(w); } return null; } } DebugShow(w); mRebuild = true; return null; } private void DebugShow(UIWidget w) { string path = ""; Transform t = w.transform; while(null != t) { path += t.transform.name + "/"; t = t.parent; } Debug.LogWarning("" + path + "time:" + Time.time+ " "); }查找出对应的UI控件,将Animation中的Alpha的最小值修改为大于0.001(UIWidget),及TweenAlpha动画中做同样的修改
////// Update the widget's visibility and final alpha. /// public override void Invalidate (bool includeChildren) { mChanged = true; mAlphaFrameID = -1; if (panel != null) { bool vis = (hideIfOffScreen || panel.hasCumulativeClipping) ? panel.IsVisible(this) : true; UpdateVisibility(CalculateCumulativeAlpha(Time.frameCount) > 0.001f, vis); UpdateFinalAlpha(Time.frameCount); if (includeChildren) base.Invalidate(true); } }
2. 战斗界面 由技能倒计时、连击数等组成
1). 修改倒计时结束时候的label不隐藏,改为设置为空,设置的string 方法使用U3d内存优化UILabel使用String的问题 。
2). 对经常刷新的区域单独加UIPanel
3). 尽量减少对界面元素的显隐操作,以减少UIpanel的Rebuild过程,从而减少DrawCall
经测试 UIPanel的 Rebuild大量减少,尤其是飘字的。
上述内容就是如何进行NGUI战斗飘字及界面优化,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
界面
战斗
技能
问题
最小
倒计时
内容
控件
时候
知识
显隐
简明
简明扼要
代码
位置
元素
内存
动画
区域
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
乡镇网络安全信息
什么是网络安全的对策
淘小二广州网络技术有限公司
自学软件开发容易学会吗
2022网络安全宣传视频
数据库中的电话号码怎么弄的
网络安全合作课程
断供对软件开发的影响
网络安全我先行征文1500字
上海时代网络技术服务代理商
热血传奇11区服务器
明日之后伊尼山服务器会变鬼服吗
恩商网络技术有限公司
软件开发项目的市场预测
郑州伏牛路小学网络安全
广州欧瑞诺软件开发有限公司
柯美6500背包服务器
因网络安全事件 发生突
怒江州国家网络安全宣传周
网络安全扫描工具lcx
软件开发管理维护心得
云服务器网速多少正常
网络技术公司转出的钱
从服务器拷文件到usb
断供对软件开发的影响
深圳热风网络技术
光峰科技互联网
网络技术教材分析
深圳及时网络技术公司
东营联想服务器哪家好