UGUI研究院之Text文本渐变(十一)
来源:互联网 发布:农村淘宝服务费如何扣 编辑:程序博客网 时间:2024/06/12 00:07
这是我无意间逛国外论坛发现的,感觉还可以就分享给大家。原文 http://pastebin.com/dJabCfWn
如下图所示,用法和UGUI自带的outline和shadow一样,可以同时使用。
代码在这里了。我加了个判断,它原来的有越界的隐患。
using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI;[AddComponentMenu("UI/Effects/Gradient")]public class Gradient : BaseVertexEffect { [SerializeField] private Color32 topColor = Color.white; [SerializeField] private Color32 bottomColor = Color.black; public override void ModifyVertices(List<UIVertex> vertexList) { if (!IsActive()) { return; } int count = vertexList.Count; if(count>0){ float bottomY = vertexList[0].position.y; float topY = vertexList[0].position.y; for (int i = 1; i < count; i++) { float y = vertexList[i].position.y; if (y > topY) { topY = y; } else if (y < bottomY) { bottomY = y; } } float uiElementHeight = topY - bottomY; for (int i = 0; i < count; i++) { UIVertex uiVertex = vertexList[i]; uiVertex.color = Color32.Lerp(bottomColor, topColor, (uiVertex.position.y - bottomY) / uiElementHeight); vertexList[i] = uiVertex; } } }}
我也在测试中,欢迎大家提意见。
如果你的项目升级到了5.2 请使用下面的代码,感谢代码的提供者。@獨立遊戲開發熊
using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI;[AddComponentMenu("UI/Effects/Gradient")]public class Gradient : BaseMeshEffect{ [SerializeField] private Color32 topColor = Color.white; [SerializeField] private Color32 bottomColor = Color.black; public override void ModifyMesh (Mesh mesh) { if (!IsActive ()) { return; } Vector3[] vertexList = mesh.vertices; int count = mesh.vertexCount; if (count > 0) { float bottomY = vertexList [0].y; float topY = vertexList [0].y; for (int i = 1; i < count; i++) { float y = vertexList [i].y; if (y > topY) { topY = y; } else if (y < bottomY) { bottomY = y; } } List<Color32> colors = new List<Color32> (); float uiElementHeight = topY - bottomY; for (int i = 0; i < count; i++) { colors.Add (Color32.Lerp (bottomColor, topColor, (vertexList [i].y - bottomY) / uiElementHeight)); } mesh.SetColors (colors); } }}
本文固定链接: http://www.xuanyusong.com/archives/3471
转载请注明: 雨松MOMO 2015年05月08日 于 雨松MOMO程序研究院 发表
转by:蒋志杰
阅读全文
0 0
- UGUI研究院之Text文本渐变(十一)
- UGUI研究院之Text文本渐变(十一)
- UGUI研究院之Text文本渐变
- Unity GUI(uGUI)扩展实例:文本竖直三色渐变
- UGUI研究院之LayoutGroup布局
- UGUI研究院之SpritePacker打包参数(四)
- UGUI研究院之Image模糊效果(十八)
- UGUI研究院之Prefab嵌套特效部分(二十九)
- Unity3D-UGUI的Text组件渐变效果
- unity3d ugui text 文字颜色渐变效果~
- UGUI研究院之设置全屏图
- UGUI研究院之SpritePacker打包教程
- UGUI研究院之UI的深度学习
- UGUI 设置Text控件文本颜色
- 【Unity】UGUI Text文本描线。。
- 【Unity&UGUI】代码控制 text文本
- Unity UGUI基础之Text
- UGUI之Text彩虹字
- Laravel指定表名的重要性
- 生成二维码 iOS
- java--文件复制FileInputStream FileOutputStream
- Spring利用DBCP获取数据源连接
- 屏蔽php显示错误信息+sql防注入常用函数
- UGUI研究院之Text文本渐变(十一)
- 2017中国(沈阳)国际润滑油脂、养护用品及技术设备展览会会刊(参展商名录)
- Arduino可穿戴教程之第一个程序——连接硬件选择板子(二)
- 类成员函数指针引用
- Maven使用maven-shade-plugin对java工程及其全部依赖打包可执行jar
- 捕获组概念理解
- Spring的初始化
- Python3.5——装饰器之案例剖析
- Ubantu密码重置