创建图片
[MenuItem("Assets/创建图片",priority = 49)]
public static void CreateImage()
{
//获取物体
UnityEngine.Object[] obj = Selection.objects;
//把物体放在 UIRoot 根节点下
Transform transform = GameObject.Find("UIRoot").transform;
if (obj.Length > 0)
{
for (int i = 0; i < obj.Length; i++)
{
if (obj[i] is Texture2D)
{
//获取路径
string path = AssetDatabase.GetAssetPath(obj[i]);
//获取图片属性
TextureImporter ti = TextureImporter.GetAtPath(path) as TextureImporter;
if (ti.textureType == TextureImporterType.Sprite)
{
GameObject go = new GameObject(obj[i].name, new Type[] { typeof(Image) });
go.transform.SetParent(transform, false);
var image = go.GetComponent<Image>();
//把image的类型设置为Simple
image.type = Image.Type.Simple;
UnityEngine.Object newImage = UnityEditor.AssetDatabase.LoadAssetAtPath(path, typeof(Sprite));
Undo.RecordObject(image, "change Image");
image.sprite = newImage as Sprite;
image.SetNativeSize();
image.name = obj[i].name;
}
}
}
}
AssetDatabase.Refresh();
}
创建图片和按钮
[MenuItem("Assets/创建图片和按钮", priority = 49)]
public static void CreateImageAndButton()
{
//获取物体
UnityEngine.Object[] obj = Selection.objects;
//把物体放在 UIRoot 根节点下
Transform transform = GameObject.Find("UIRoot").transform;
if (obj.Length > 0)
{
for (int i = 0; i < obj.Length; i++)
{
if (obj[i] is Texture2D)
{
//获取路径
string path = AssetDatabase.GetAssetPath(obj[i]);
//获取图片属性
TextureImporter ti = TextureImporter.GetAtPath(path) as TextureImporter;
if (ti.textureType == TextureImporterType.Sprite)
{
GameObject go = new GameObject(obj[i].name, new Type[] { typeof(Image),typeof(Button) });
go.transform.SetParent(transform, false);
var image = go.GetComponent<Image>();
//把image的类型设置为Simple
image.type = Image.Type.Simple;
UnityEngine.Object newImage = UnityEditor.AssetDatabase.LoadAssetAtPath(path, typeof(Sprite));
Undo.RecordObject(image, "change Image");
image.sprite = newImage as Sprite;
image.SetNativeSize();
image.name = obj[i].name;
}
}
}
}
AssetDatabase.Refresh();
}