UGUI 快捷键创建UGUI组件

使用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
UGUI 快捷键创建UGUI组件的更多相关文章
- Unity进阶技巧 - 动态创建UGUI
前言 项目中有功能需要在代码中动态创建UGUI对象,但是在网上搜索了很久都没有找到类似的教程,最后终于在官方文档中找到了方法,趁着记忆犹新,写下动态创建UGUI的方法,供需要的朋友参考 你将学到什么? ...
- Unity添加自定义快捷键——UGUI快捷键
在Editor下监听按键有以下几种方式: 自定义菜单栏功能: using UnityEngine; using UnityEditor; public static class MyMenuComma ...
- HTML5 UI框架Kendo UI Web教程:创建自定义组件(三)
Kendo UI Web包 含数百个创建HTML5 web app的必备元素,包括UI组件.数据源.验证.一个MVVM框架.主题.模板等.在前面的2篇文章<HTML5 Web app开发工具Ke ...
- HTML5 UI框架Kendo UI Web中如何创建自定义组件(二)
在前面的文章<HTML5 UI框架Kendo UI Web自定义组件(一)>中,对在Kendo UI Web中如何创建自定义组件作出了一些基础讲解,下面将继续前面的内容. 使用一个数据源 ...
- 动态创建angular组件实现popup弹窗
承接上文,本文将从一个基本的angular启动项目开始搭建一个具有基本功能.较通用.低耦合.可扩展的popup弹窗(脸红),主要分为以下几步: 基本项目结构搭建 弹窗服务 弹窗的引用对象 准备作为模板 ...
- vue通过extend动态创建全局组件(插件)学习小记
测试环境:nodejs+webpack,例子是看文章的,注释为自己的理解 创建一个toast.vue文件: <template> <div class="wrap" ...
- C#创建COM组件
本文详细阐述如何用C#创建COM组件,并能用VC6.0等调用. 附:本文适用任何VS系列工具. 在用C#创建COM组件时,一定要记住以下几点: 1.所要导出的类必须为公有: 2.所有属性.方法也必须为 ...
- VS2010 C++ 创建COM组件
1.项目中要使用到com组件,于是了解了一下com,并根据<C#高级编程>中关于com的介绍用vs创建了一下com,用于实验.以下均根据书中的demo做一遍,熟悉一下而已. 2.创建CoM ...
- C#创建COM组件供VB,PB,Delphi调用
1 COM组件概述 COM是微软公司为了计算机工业的软件生产更加符合人类的行为方式开发的一种新的软件开发技术.在COM构架下,人们可以开发出各种各样的功能专一的组件,然后将它们按照需要组合起来,构成 ...
随机推荐
- python wmi模块学习
# -*- coding: cp936 -*- import wmi c = wmi.WMI () for sys in c.Win32_OperatingSystem(): print " ...
- IOS的一个带动画的多项选择的控件(一)
先上效果图: 这个程序分2个层次,一个是顶部的带UITextField的bar,一个是下拉选择的view,下拉选择的view带有4个自己定义的UIView 我们先定义一个UIViewControlle ...
- poj 1011 Sticks (DFS+剪枝)
Sticks Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 127771 Accepted: 29926 Descrip ...
- Window vagrant 安装部署【转】
回想以前,想要安装个虚拟机是多么的麻烦.先要费尽心机找到想要的操作系统镜像文件,然后安装虚拟化软件,按照其提供的GUI界面操作一步步创建,整个过程费时费力.但是,自从使用了Vagrant以后,咱腰不酸 ...
- 3DShader之移位贴图(Displacement Mapping)
我们知道法线贴图是只是改了物体的法线属性,用来计算光照,但是并没有改变物体本身的网格.但是移位贴图就不一样了,它会移动物体的顶点.我用移位贴图做了个海洋,好了,上了图再讲: 注意看海的边缘的顶点,已经 ...
- UICollectionView的基本使用
这个控件,看起来与UITableView有点像,而且基本的用法也很相像哦!!! 我们来看看API: #pragma mark - UICollectionViewDataSource // 指定Sec ...
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
一.[Android实例]实现TextView里的文字有不同颜色 转eoe:http://www.eoeandroid.com/thread-4496-1-1.html import android. ...
- oracle的启动和关闭
一.sql*plus方式: 用sql*plus来连接到Oracle Sqlplus /nolog 是以不连接数据库的方式启动sql*plus Connect /as sysdba 是以DBA ...
- oracle之replace结合substr的使用
select * from( SELECT TMM.ORDER_ID, TMM.IMPORT_ID, TMM.TMALL_ORDER_ID, TMM.MEMBER_NAME, TMM.ALIPAY_U ...
- 1、shell 简介
Shell 本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥 梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地 ...