扩展Unity3d编辑器,批量修改Label字体颜色
来源:互联网 发布:中国吸引外资国别数据 编辑:程序博客网 时间:2024/06/10 22:28
在做游戏使用NGUI过程中,经常会遇到更改UILabel字体的颜色,手动更改Label字体颜色不仅效率很低,而且有部分Label处于未激活状态,无法找到全部Label。为此需要扩展Unity3d编辑器,写一个批量处理程序,在编辑状态更改字体颜色。主要涉及到两部分内容,一是如何扩展Unity3d编辑器,二是如何遍寻UIroot下的所有UILabel(包括未激活状态下的),下面贴出了源码。
一、在工程文件下建立一个Editor文件夹,新建一个Change_FontColor脚本,在Editor下的脚本会显示在Untiy3d编辑器中。
脚本位置
二、编辑Change_FontColor脚本,代码如下:
using UnityEngine;
using System.Collections;
using UnityEditor;
public classChange_FontColor : Editor {
[MenuItem("Assets/ChangeFontColor")]
public static void ChangeFont()
{
//获得UIroot
GameObject myUIroot =(GameObject)Selection.activeObject;
//更换特定UIlabel的字体颜色
UILabel[] labels =myUIroot.GetComponentsInChildren<UILabel>(true);
int length = labels.Length;
for (int i = 0; i < length; ++i)
{
if (labels[i].GetComponent<UILabel>().color ==new Color(0,0,0))//黑色
{
labels[i].GetComponent<UILabel>().color =new Color(1,1,1);//白色
}
}
}
}
首先,Change_FontColor类继承于Editor,[MenuItem("Assets/ChangeFontColor")]是按钮显示的位置在Assets/ChangeFontColor。更换UILabel颜色的在
public staticvoid ChangeFont ()方法中实现
使用方式:鼠标选中UIroot,点击Assets/ChangeFontColor按钮就可实现效果,如下图
更改后黑色的label改为了白色。
更改前效果图
更改后效果图
- 扩展Unity3d编辑器,批量修改Label字体颜色
- Unity3D 【编辑器扩展】一键批量修改预设UGUI Text字体
- Unity3D 【编辑器扩展】一键批量修改预设UGUI Text字体
- unity3d 修改gui label颜色,定义颜色需除以256
- Unity-【编辑器扩展】一键批量修改预设UGUI Text字体
- markdown编辑器如何修改字体、颜色、字号
- Label 字体颜色
- silverlight 修改image图片,改变label字体颜色
- MFC label 设置字体 颜色
- label字体颜色多样化显示
- 同一label,不同字体颜色
- 批量修改PPT字体和颜色的方…
- Materials Design修改TextInputLayout的label字体颜色和下划线的状态颜色
- Unity3D开发之编辑器统一修改Text字体
- qt如何修改文本编辑器字体及颜色
- unity3d扩展编辑器
- Unity3d 编辑器扩展
- Unity3D-扩展编辑器
- Piwik——最好用的开源网站统计系统
- malloc函数
- 机器学习21-svm的核函数(三)
- 阿里云(万网)虚拟主机不支持mp4 flv解决办法
- Git 安装
- 扩展Unity3d编辑器,批量修改Label字体颜色
- 推荐两款免费的优质云服务MongoLab和RedisLabs
- OpenFire + Spark构建实时协作平台
- JIRA整合OpenFire实现任务实时提醒
- shellScript之continue语句
- 使用Qt5.7.0 VS2015版本生成兼容XP的可执行程序
- 浅谈Atlassian产品搭建的敏捷管理体系(一)——概述
- 弹性上拉下拉ScroolView
- 浅谈Atlassian产品搭建的敏捷管理体系(二)——Confluence