查看: 1047|回复: 0
打印 上一主题 下一主题

[GUI] UGUI文字渐变效果(转载guojia)

[复制链接]

733

主题

5

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
6520
精华
14

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2016-1-29 23:55:59 |只看该作者 |倒序浏览
UGUI中没有文字渐变的功能,但有些时候为了让文字看起来更漂亮,需要去实现这项功能。本人用的unity4.9。
废话不多少了,上代码:
  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine.UI;

  5. [AddComponentMenu("UI/Effects/Gradient")]
  6. public class Gradient : BaseVertexEffect
  7. {
  8.     [SerializeField]
  9.     private Color32 leftTopColor = Color.white;
  10.     [SerializeField]
  11.     private Color32 rightTopColor = Color.black;
  12.     [SerializeField]
  13.     private Color32 leftBottomColor = Color.black;
  14.     [SerializeField]
  15.     private Color32 rightBottomColor = Color.black;

  16.     public override void ModifyVertices(List<UIVertex> vertexList)
  17.     {
  18.         if (!IsActive())
  19.         {
  20.             return;
  21.         }

  22.         for (int i = 0; i < vertexList.Count; )
  23.         {
  24.             ChangeColor(ref vertexList, i, leftTopColor);
  25.             ChangeColor(ref vertexList, i + 1, rightTopColor);
  26.             ChangeColor(ref vertexList, i + 2, rightBottomColor);
  27.             ChangeColor(ref vertexList, i + 3, leftBottomColor);
  28.             i += 4;
  29.         }

  30.     }
  31.     private void ChangeColor(ref List<UIVertex> verList, int index, Color color)
  32.     {
  33.         UIVertex temp = verList[index];
  34.         temp.color = color;
  35.         verList[index] = temp;
  36.     }
  37. }
复制代码
210104ffcw7rlf883hdhvy.png


分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏1 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-8 19:30 , Processed in 0.099016 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部