擴充套件Unity3d編輯器,批量修改Label字型顏色
在做遊戲使用NGUI過程中,經常會遇到更改UILabel字型的顏色,手動更改Label字型顏色不僅效率很低,而且有部分Label處於未啟用狀態,無法找到全部Label。為此需要擴充套件Unity3d編輯器,寫一個批量處理程式,在編輯狀態更改字型顏色。主要涉及到兩部分內容,一是如何擴充套件Unity3d編輯器,二是如何遍尋UIroot下的所有UILabel(包括未啟用狀態下的),下面貼出了原始碼。
一、在工程檔案下建立一個Editor資料夾,新建一個Change_FontColor指令碼,在Editor下的指令碼會顯示在Untiy3d編輯器中。
指令碼位置
二、編輯Change_FontColor指令碼,程式碼如下:
using UnityEngine;
using System.Collections;
using UnityEditor;
public class Change_FontColor : Editor {
[MenuItem("Assets/ChangeFontColor")]
public static void ChangeFont()
{
//獲得UIroot
GameObject myUIroot =(GameObject)Selection.activeObject;
//更換特定UIlabel的字型顏色
UILabel
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
}
}
}
}
首先,Change_FontColor類繼承於Editor,[MenuItem("Assets/ChangeFontColor")]是按鈕顯示的位置在Assets/ChangeFontColor 。更換UILabel顏色的在
public static void ChangeFont ()方法中實現
使用方式:滑鼠選中UIroot,點選Assets/ChangeFontColor按鈕就可實現效果,如下圖
更改後黑色的label改為了白色。
更改前效果圖
更改後效果圖