使用NGUI的时候还有xxx快捷键创建, spirte,label,button等等. 在UGUI里面的时候好像是没有快捷键的. 不知道以后多久才能有这个功能. 在家里闲无聊的时候写了一个脚本, 可以方便的创建UGUI组件(Button,Image,Text,InputFile等等)
快捷键列表如下:
Text | Shift+Alt+L |
Button | Shift+Alt+B |
Image | Shift+Alt+S |
InputField | Shift+Alt+I |
代码部分:
using UnityEngine; using System.Collections; using UnityEditor; using UnityEngine.UI; /// <summary> /// 根据快捷键创建UGUI控件 /// 快捷键符号% Ctrl # Shift & Alt /// </summary> public class UGUIShortcutKey : Editor { public const int UIlayer = 5; //UI [MenuItem("Plateface/CreateUGUI Text #&L")] public static void CreateText() { if (Selection.gameObjects.Length > 0) { GameObject obj = Selection.gameObjects[0]; GameObject text = new GameObject(); RectTransform textRect = text.AddComponent<RectTransform>(); Text textTx = text.AddComponent<Text>(); text.transform.SetParent(obj.transform); text.name = "Text"; text.layer = UIlayer; textTx.text = "plateface"; textRect.localScale = new Vector3(1, 1, 1); textRect.anchoredPosition = Vector2.zero; textRect.anchoredPosition3D = Vector3.zero; RectTransformZero(textRect); } } [MenuItem("Plateface/CreateUGUI Button #&B")] public static void CreateButton() { if (Selection.gameObjects.Length > 0) { Debug.Log("创建按钮"); GameObject obj = Selection.gameObjects[0]; if (obj == null) return; GameObject button = new GameObject(); GameObject buttonTx = new GameObject(); RectTransform buttonRect = button.AddComponent<RectTransform>(); RectTransform buttonTxRect = buttonTx.AddComponent<RectTransform>(); button.AddComponent<Image>(); buttonTx.AddComponent<Text>(); button.transform.SetParent(obj.transform); buttonTx.transform.SetParent(button.transform); button.name = "Button"; buttonTx.name = "Text"; button.layer = UIlayer; buttonTx.layer = UIlayer; RectTransformZero(buttonRect); RectTransformZero(buttonTxRect); } } [MenuItem("Plateface/CreateUGUI Image #&S")] public static void CreateImage() { if (Selection.gameObjects.Length > 0) { Debug.Log("创建UGUI图片"); GameObject obj = Selection.gameObjects[0]; RectTransform selectionObjRect = Selection.gameObjects[0].GetComponent<RectTransform>(); GameObject image = new GameObject(); RectTransform imageRect = image.AddComponent<RectTransform>(); image.AddComponent<Image>(); image.transform.SetParent(obj.transform); image.name = "Image"; image.layer = 5; RectTransformZero(imageRect); } } [MenuItem("Plateface/CreateUGUI InputField #&I")] public static void CreateInputField() { //创建UGUI标签 GameObject obj = Selection.gameObjects[0]; GameObject inputField = new GameObject(); RectTransform rectTransform = inputField.AddComponent<RectTransform>(); Image image = inputField.AddComponent<Image>(); image.sprite = Resources.Load<Sprite>("UnityPlugins/UGUIShortcutKeyTexture/background1"); inputField.AddComponent<InputField>(); rectTransform.localScale = new Vector3(1, 1, 1); inputField.layer = UIlayer; inputField.transform.SetParent(obj.transform); inputField.name = "InputField"; GameObject placeholder = new GameObject(); Text placeholderTx = placeholder.AddComponent<Text>(); placeholder.transform.SetParent(inputField.transform); placeholder.name = "Placeholder"; placeholder.layer = UIlayer; placeholderTx.color = Color.black; GameObject text = new GameObject(); Text textTx = text.AddComponent<Text>(); text.transform.SetParent(inputField.transform); text.name = "Text"; text.layer = UIlayer; textTx.color = Color.black; RectTransformZero(rectTransform); } public static void RectTransformZero(RectTransform rectTransform) { rectTransform.localScale = new Vector3(1, 1, 1); rectTransform.anchoredPosition = Vector2.zero; rectTransform.anchoredPosition3D = Vector3.zero; } }
插件下载地址:http://yunpan.cn/cHYb3wR7fqnUU 访问密码 a91c