Unity为大家提供了一套很完整的图形化界面引擎,包括窗口、文本框、拖动条等。下面将为大家介绍主要的基本控件。
推荐整理分享Unity3D入门控件(unity ui控件),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:unity3d怎么用,unity3d控件嵌入winform,unity3d控件嵌入winform,unity ui控件,unitygui控件,unity3d charactercontroller,unitygui控件,unity3d所有控件,内容如对您有帮助,希望把文章链接给更多的朋友!

一、Label控件 Label控件(标签控件)以文本的形式来显示一串字符串信息,该控件不仅可以输入字符串信息,还可以输入贴图。参数:position : Rect ——标签在屏幕上的矩形位置,(起点x坐标,起点y坐标,标签宽度,标签高度)。text : String ——在标签上显示的文本内容。image : Texture ——在标签上显示的纹理。content : GUIContent ——在标签上显示的文本、图片和信息提示。style : GUIStyle ——使用的样式,如果不使用,那么标签的样式使用的就是当前的GUISkin皮肤描述:在屏幕上创建一个文本或纹理的标签。标签没用用户交互,不捕捉鼠标点击,如果想创建响应用户输入的控件,可以使用Box控件。案例:绘制一个“Hello World!”标签和一个图片标签 首先,在Project视图中的一个文件夹上右击→Create→C# Script,然后为其重命名为Label。在这里需要注意的是脚本文件的名称必须和脚本中pulic class XXX :MonoBehaviour一样,不然会出错的。双击打开脚本编写器,接着就是编写脚本,编写的内容如下:[csharp] view plaincopyusing UnityEngine; using System.Collections; publicclass Label : MonoBehaviour { public Texture img;//图片/ void OnGUI() { GUI.Label(new Rect(,,,),"Hello World!"); GUI.Label(new Rect(,,,),img); } } 在这个脚本中只用一个OnGUI方法,该方法为绘制界面的方法,所有GUI的绘制都需要在这个方法中实现。 另外,脚本必须绑定到对象上才会执行自身的生命周期。绑定的方法很简单,就是在Project视图中将该脚本文件拖拽到Hierarchy视图中的一个对象上即可。在这里我们将Label.cs脚本绑定到Main Camera对象上。 接着是图片变量的赋,首先只用公有变量才能从Project中拖拽赋或者手动输入赋,即前面有public关键字。游戏视图:二、Button控件和RepeatButton控件 Button控件(按钮控件)用来进行用户的行为判断,例如:确认,取消,退出等。按钮有3中状态:未点击,点击,点击后,在一般情况下,我们只用到未点击和点击这2种情况。Parameters(参数):position : Rect ——按钮在屏幕上的矩形位置,(起点x坐标,起点y坐标,按钮宽度,按钮高度)text : String ——按钮上显示的文本内容image : Texture ——按钮上显示的图片纹理content : GUIContent ——按钮的文本,图片和提示。style : GUIStyle ——按钮使用的样式,如果不使用,则按钮的样式使用的就是当前的GUISkin皮肤Returns(返回):布尔——当该按钮被点击时返回trueDescription(描述):创建一个单次按下按钮,当用户点击按钮时立即触发事件。RepeatButton(连续按钮)用于持续按下时触发事件的按钮,普通的Button按钮适用与单次按下。参数与普通的Button没什么大的区别。Returns返回:布尔——当用户按下该按钮时返回true。描述:创建一个按钮,只要用户按住不放,将一直被激活。从按下按钮到释放按钮的时间内重复触发其Click事件,也就是说他将连续不停的发送点击事件。案例:创建3个按钮,分别为普通文本按钮,普通图片按钮,连续按钮。再创建了3个标签,第一个标签用于显示用户按下的按钮是哪一个,第二个标签是用来显示普通图片按钮按下后,绘制一个图片出来,第三个标签用来记录连续按钮按下的时间。[csharp] view plaincopyusing UnityEngine; using System.Collections; publicclass Button : MonoBehaviour { public Texture img;//公有变量图片/ private Texture img0; privatestring info;//显示的信息/ privateint frameTime;//记录按下的时间/ void Start() { //初始化/ info ="请您点击按钮"; frameTime = 0; } void OnGUI() { //标签/ GUI.Label(new Rect(,,,),info); //普通按钮,点击后显示Hello World if(GUI.Button(new Rect(,,,),"Hello World")) { info ="Hello World"; } //标签/ GUI.Label(new Rect(,,,),img0); //图片按钮,点击后显示图片/ if(GUI.Button(new Rect(,,,),img)) { img0 = img; info ="您点击了图片按钮"; } //标签/ GUI.Label(new Rect(,,,),"持续按下的时间:" frameTime); //连续按钮,点击后显示按下的时间/ if(GUI.RepeatButton(new Rect(,,,),"持续按下")) { frameTime ; info ="您按下了连续按钮"; } //每当鼠标按下时将frameTime重置,一遍进行下次记录/ if(Input.GetMouseButtonDown(0)) { frameTime = 0; } } } 在这里依旧需要将脚本绑定Main Camera上,并且将需要赋的公有变量进行赋,在Label控件中我已经介绍了,这里就不废话了~游戏视图:———————————————参考文献:《Unity3D 游戏开发》宣玉松Unity Script Reference
unity3d移动平台性能优化():渲染路径设置 今天发现一个场景特别卡,但看设置和drawcall乎都正常,仔细对比了各方面的统计信息,发现一处异常:switch是4.其他场景switch全部是0.即使我去掉场景
[置顶] Unity3D对Component组件的管理机制 孙广东.5.我们都知道Unity管理GameObject是采用树形结构就是在Hierarchy面板中的结构。但是具体是怎么管理组件的呢?同事的测试发现了这个现象:测
Unity3D 将Vector3转化为Quaternion的方法 Demo 代码C# 原创文章,转载请注明出