因为最近工作用NGUI比较多,修改图集时还没原图,有时候需要把图集重新切割开来,用代码会比较方便,一下贴出主要代码
首先读取NGUI图集的信息
UIAtlas mAtlas ;
GameObject[] SelectedAsset=Selection.gameObjects;
if (SelectedAsset.Length == 1)
{
mAtlas = SelectedAsset[0].GetComponent<UIAtlas>();
if (mAtlas != null)
{
string atlasFile = string.Format("{0}.txt", mAtlas.name);
string atlasPng = string.Format("{0}.png", mAtlas.name);
char[] ch = { '.' };
string path = AssetDatabase.GetAssetPath(SelectedAsset[0]);
FileInfo aFileinfo = new FileInfo(path);
string th = aFileinfo.DirectoryName;
string[] strs = path.Split(ch);
if (File.Exists(atlasFile))
{
File.Delete(atlasFile);
}
StreamWriter sw = new StreamWriter(strs[0] + ".txt");
StringBuilder sb = new StringBuilder();
foreach (UIAtlas.Sprite sprite in mAtlas.spriteList)
{
sb.AppendLine(string.Format("name:{0}, coordinate:{1}", sprite.name, sprite.outer));
}
sw.Write(sb.ToString());
sw.Close();
string[] arg = new string[2];
arg[0] = atlasPng;
arg[1] = th;
//print(arg[0]);
//print(arg[1]);
string path_2 = AssetDatabase.GetAssetPath(Resources.Load("CutAltas/output"));