编辑器工具--NGUI--图集相关--指定图集,对选中预设中所有使用本图集的图片绑定本图集
来源:互联网 发布:福建软件职业技术学院 编辑:程序博客网 时间:2024/05/17 04:44
Sage_禅
qq交流群:106864335
加群连接:<a target="_blank" href="//shang.qq.com/wpa/qunwpa?idkey=7701e50a9c5f4ce04348cc37f8ff732615c0b6435ad7ef32c15ead9315561a09"><img border="0" src="//pub.idqqimg.com/wpa/images/group.png" alt="Unity-不疯魔,不成活" title="Unity-不疯魔,不成活"></a>
q群初建,欢迎大家加入交流。
微信公众号:zhimeng-1314 名称:Unity不疯魔不成活
开发mmoarpg项目很长时间了,现在总结一些项目中自写的一些工具作为记录和分享。
项目中用的是NGUI,本篇介绍工具:指定图集,对选中预设中所有使用本图集的图片绑定本图集,代码如下。
using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEditor;/// 我的工具库--NGUI--图集图片相关/// 注:可以用,不可以改/// 所有的相似工具类在此下添加/// <summary>/// 指定图集,对选中预设中所有使用本图集的图片绑定本图集/// </summary>public class WTool_BindAtlas : EditorWindow{ #region 菜单添加 [MenuItem("WTools/Atlas/添加图集(给使用本图集的sp)")] public static void Open() { EditorWindow.GetWindow(typeof(WTool_BindAtlas)); } #endregion #region 编辑器渲染绘制 //指定图集 public UIAtlas 指定图集; private static UIAtlas appointAtla;// 指定图集 private void OnGUI() { 指定图集 = (UIAtlas)EditorGUILayout.ObjectField(指定图集, typeof(UIAtlas), true, GUILayout.MinWidth(100f)); appointAtla = 指定图集; if (GUILayout.Button("w图集找找找!")) { list = WmxEditorTools.SelectCompount<UISprite>(); } if (GUILayout.Button("w换换换(一键操作)!")) { list = WmxEditorTools.SelectCompount<UISprite>(); Change(); } if (GUILayout.Button("w修改所有的UI预设图集(一键操作)!")) { ChangeAtlas_FromResources(path); } /*if (GUILayout.Button("w指定UI预设文件夹修改替换图集(一键操作)!==测试")) { ChangeAtlas_FromAssets(testpath); }*///需要标记修改,再操作--未测试 } #endregion //选中预设查找图片记录 public static bool isSelect = true; public static List<UISprite> list = new List<UISprite>(); public static string path = "UIPrefab"; /// <summary> /// 绑定图集 /// </summary> public static void Change() { Debug.Log("========预设修改开始=========="); for (int i = 0; i < list.Count; i++) { if (list[i] != null) { if (appointAtla.GetSprite(list[i].spriteName) != null) { list[i].atlas = appointAtla; Debug.Log("-----添加图集的图片为 " + list[i].spriteName + " 集合编号" + i + " 路径:" + AssetDatabase.GetAssetOrScenePath(list[i])); continue; } } } Debug.Log("========预设修改结束=========="); } /// <summary> /// Resources下指定路径文件夹内所有预设绑定图集 /// </summary> /// <param name="path"></param> public static void ChangeAtlas_FromResources(string path) { GameObject[] gos = Resources.LoadAll<GameObject>(path); for (int i = 0; i < gos.Length; i++) { Debug.Log(AssetDatabase.GetAssetOrScenePath(gos[i])); //标记为预设修改状态,否则预设不会保存 EditorUtility.SetDirty(gos[i]); list.Clear(); if (gos[i] != null) { list.AddRange(gos[i].transform.GetComponentsInChildren<UISprite>(true)); Change(); } } } /// <summary> /// 未测试通过--根据任意文件夹路径,修改文件夹下所有预设 /// </summary> /// <param name="path"></param> public static void ChangeAtlas_FromFile(string path) { Object[] gos = Resources.LoadAll(path); Debug.Log(gos.Length); for (int i = 0; i < gos.Length; i++) { if (gos[i] == null) continue; Debug.Log(AssetDatabase.GetAssetOrScenePath(gos[i])); /*list.Clear(); if (gos[i] != null) { list.AddRange(gos[i].transform.GetComponentsInChildren<UISprite>()); Change(); }*/ } }}
阅读全文
0 0
- 编辑器工具--NGUI--图集相关--指定图集,对选中预设中所有使用本图集的图片绑定本图集
- 编辑器工具--NGUI--图集相关--选中预设指定图集深度修改
- 编辑器工具--NGUI--图集相关--用新的图集替换旧的图集
- unity NGUI中使用bmfont制作的字体图集
- Unity3D NGUI图集切成图片
- unity3d NGUI图集使用图片出现虚边 出现一条线的解决方案
- EditPlus最新版和旧版本免费下载-最好用的文本编辑器+使用技巧集萃
- NGUI图集杂说
- 使用TexturePackerGUI配合NGUI打包图集
- NGUI使用Atlas制作图集
- VS2013打开旧版本project的平台工具集问题
- geography 删除指定数据集的所有图层方法
- NGUI图集切割代码
- NGUI动态切换图集
- NGUI 制作动态图集
- NGUI图集创建及图集内图片的删除、更新、添加
- [NGUI]NGUI自定义图集和自定义字体
- [NGUI]NGUI自定义图集和自定义字体
- Script error .可能的原因
- ubuntu下安装mysql方法
- 网站重构
- 新闻速递|百名社长总编近距离触摸广东发展
- 五:亲自尝试压缩数据
- 编辑器工具--NGUI--图集相关--指定图集,对选中预设中所有使用本图集的图片绑定本图集
- 2017暑假集训总结
- 转载 解密蓝牙mesh系列 | 第三篇【节点(Node)】【元素(Elements)】【模型 (Model) 和状态 (State)】
- 如何有效开展性能测试
- 用WiFi万能钥匙的,请不要跟别人说你真正懂得WiFi密码的破解
- 软件测试教程
- 阿里云clouder认证—云服务器运维管理(实战篇)
- Java并发编程:(1)进程和线程的由来、进程的创建、线程的创建
- PHP7 下安装 memcache 和 memcached 扩展