UGUI
XM肖牧
厦门四三九九股份有限公司,Unity客户端
展开
-
UGUI获取Text文本的绘制长度
/// <summary> /// 获取文本的绘制长度,不同于text的rectTransform.sizeDelta /// </summary> /// <param name="str">文本</param> /// <returns></returns>原创 2018-05-24 09:58:09 · 3344 阅读 · 0 评论 -
Unity3D简单的UI系统
Unity3d的ugui如果用得不好,非常的影响性能,可能很多人都不知道,其实ugui是基于网格模型渲染的,一个ugui组件就是一个Mesh,ui组件的Material为空,其实他是用了默认的Material,我们在运行游戏的时候Canvas回把所有ui的Mesh合并成一个大的ShareMesh,用于渲染。所以一般情况下,ui的DrawCall会比较少,但是不一般的情况下,我们会用到动态的ui,导...原创 2018-05-24 21:47:52 · 10355 阅读 · 1 评论 -
Unity3D UGUI Button同时监听点击事件和长按事件
有些游戏都会有这样一个需求,比如一个按钮点击可以进行攻击,长按又可以释放技能的需求。我们做一个类似Button的组件,只需要挂载到相应的按钮上面,即可像Button一样注册长按事件。1.我们新建一个脚本RepeatButton,继承接口IPointerDownHandler, IPointerUpHandler, IPointerExitHandler,获取相应的按下,抬起,结束等事件。using...原创 2018-06-28 16:25:50 · 7298 阅读 · 0 评论 -
Unity3D UGUI Toggle的onValueChanged拦截拓展
Toggle真的是让人又爱又恨,它既有和ToggleGroup组合搭配的方便,又有一些不可控的情况,我就在项目中遇到了一个棘手的问题。我们常常用到Toggle的onValueChanged改变事件,它很方便,即可改变自己状态,又可以通知同一个分组内的Toggle改变对应的状态,但是有时候我们需要判断点击的时候它是否可以被有效的点击并且执行对应的操作,令人失望的是,当你点击的时候onValueC...原创 2019-04-11 11:50:38 · 4618 阅读 · 1 评论 -
Unity GUI图片渐变过渡添加抖动算法降低白条分层
由于之前的项目背景运用了大量的渐变过渡效果的大图,使用RGB16压缩格式表现效果很差,特别是渐变过渡的地方出现了很多条纹,最后使用了RGB32的压缩格式,浪费大量内存。TexturePacker Pro里面有个给图片添加抖动的算法FloydSteinberg,表现效果还不错,虽然噪点有点多,但是可以忍受。打开软件TexturePacker,导入图片,在抖动Dithering选择F...原创 2019-04-29 16:14:44 · 927 阅读 · 0 评论 -
Unity UGUI同时支持点击和拖拽的组件
今天整理需求,有一些UI拖拽的功能,之前看到项目是用Rect.Contains()来判断UI的区域,但是这个方法需要根据分辨率处理。我看到很多文章写得都有点复杂了,各种计算各种转换,我的脚本非常简单,同事支持点击和拖拽,希望可以帮到需要的小伙伴。using System;using System.Collections;using System.Collections.Gener...原创 2019-09-24 10:50:20 · 1653 阅读 · 1 评论