Unity3D学习笔记(一)GUI控件的调用
GUI控件:
1.在Start中初始化,在OnGUI中调整。
2.公有变量才会出现在Inspector面板。
3.GUI控件的初始化和处理在OnGUI内完成。
4.JavaScript的中文为UTF-8编码可显示,CSharp的中文为UTF-16编码可显示。
基本信息:
屏幕宽高:Screen.width Screen.height
图片宽高:img.width img.height
一 标签Label
GUI.Label(Rect(x,y,width,height),<Str or Texture, such as Texture2D>);
二 按钮Button
var buttonTexture : Texture2D;
GUI.Button(Rect(x,y,width,height),buttonTexture);
设置文字颜色:GUI.color = Color.green;
设置背景颜色:GUI.backgroundColor = Color.red;
三 输入框TextField
message = GUI.TextField(Rect(x,y,width,height),message,size);
message = GUI.PasswordField(Rect(x,y,width,height),message,"*"[0],size);
返回值类型为String.
四 复选框与标签页selectToggle and Toolbar
var barResource : String[] = ["bar1","bar2","bar3",...];
var select : int;
var state : boolean;
select = GUI.Toolbar(Rect,default,barResource);//第二个参数为默认在第几个标签上,后面为名字列表,
有几个元素就有几个标签。
获取标签页:select = GUI.Toolbar(...);
获取复选框:state = GUI.Toggle(Rect,state,<name>);
五 滑动条Slider
var now_value : int = 0;
now_value = GUI.VerticalSlider(Rect,now_value,endvalue,startvalue)
六 滚动条ScrollView
定义Vector2变量储存水平和垂直滚动条位置。
var scrollPosition : Vector2;
scrollPosition[0] = <水平初始位置>;
scrollPosition[1] = <垂直初始位置>;
scrollPosition = GUI.BeginScrollView(<Rect滚动视图>,<Vector2起始位置>,
<Rect整体显示范围(大于parameter1)>,true,true);
//最后两个参数表示是否智能显示,即不该显示滚动条就不显示。
七 群组Group
群组内采用相对坐标,且群组移动组内物体统一移动。
GUI.BeginGroup(new Rect(x,y,width,height));
//在这里添加组内成员
GUI.EndGroup();
八 窗口Window
GUI.Window(ID,Rect,window_function,name);
使用:Debug.log(<string>);可以在最下面的消息面板输出字符串。
九 样式表GUISkin
使用:GUI.skin = mySkin来应用样式表
十 布局GUILayout
GUILayout自动计算显示区域。
大部分空间的绘制可以将GUI类换为GUILayout类。
GUILayout也可以设置布局的宽高。利用Width与Height方法。
使用:BeginHorizontal()与EndHorizontal()方法
默认是垂直布局,因此多个布局之间默认以垂直方式排列。
以及:BeginVertical()与EndVertical()方法
可以设定水平、垂直布局,且可以嵌套使用。
十一 链表ArrayList()类
使用 :var winArrayList = new Arraylist();声明
Add方法添加一个节点,RemoveAt方法删除一个节点。
对于窗口的用法:
winArrayList.Add(Rect);
winArrayList[i] = GUILayout.Window(...);
winArrayList.RemoveAt(windowID);
一二 静态图片DrawTexture
var pic : Texture2D;
GUI.DrawTexture(Rect,pic);
实用的类方法width和height可以获取图像的实际宽高,例如pic.width
十三 2D动画
使用Object[]类型的数组存储动画帧
载入动画帧的方法:
private var animation : Object[];
animation = Resources.LoadAll("<Folder Name>");//载入 /Resouurces/<Folder Name>/ 下全部图片
绘制动画就是采用GUI.DrawTexture方法。
Unity3D学习笔记(一)GUI控件的调用的更多相关文章
- WPF-学习笔记 动态修改控件Margin的值
原文:WPF-学习笔记 动态修改控件Margin的值 举例说明:动态添加一个TextBox到Grid中,并设置它的Margin: TextBox text = new TextBox(); t_gri ...
- 学习笔记:UpdatePanel控件
Asp.net UpdatePanel 允许用户构建一个丰富的,以客户端为中心的应用程序,引用UpdatePanel控件,能够实现页面的部分刷新,一个包含scriptManage和 UpdatePan ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.4.Tabs控件
之前,我们已经介绍了 jQuery UI 库,CSS 框架.下面,我们将学习这些有增强可视化效果,高度可配置的用户交互组件. Tab 的特性是,点击 tab 后,会高亮该 tab,并显示他的关联con ...
- Android学习笔记_30_常用控件使用
一.状态栏通知(Notification): 如果需要查看消息,可以拖动状态栏到屏幕下方即可查看消息.发送消息的代码如下: public void sendNotice(View v){ int ic ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.9.Progressbar控件
Progressbar控件用来显示任意进程的完成百分比. 默认安装启用 配置选项 控件暴露的事件API progressbar暴露的独一无二的方法 一些现实生活的例子 当前版本中,我们或系统必须明确进 ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.8.Datepicker控件
默认datepicker的安装启用 探索它的配置选项 安装启用一个触发按钮 配置一个供选择的动画 dateFormat选项 简单的国际化 多月datepicker 日期范围选择 datepicker的 ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.7.Slider控件
默认slider的安装启用 为slider自定义风格 修改配置选项 创建一个垂直的slider 设置最大最小值,和默认值 启用多个 手柄 和 范围 slider内置的回调事件 slider的方法 这个 ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.6.Dialog控件
习惯上,我们播放一条简短的信息,或向浏览者询问一个问题,都会用到dialog. 创建一个基本的dialog 使用dialog 选项 形式 启用内置动画 给dialog添加按钮 使用dialog回调函数 ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.5.Accordion控件
accordion是另一个UI控件,能允许你将一组content加入相互分隔的.能够被浏览者的交互打开或关闭的panels中.因此,它大多数的content在初始化的时候是隐藏的,很像tabs控件.每 ...
随机推荐
- 亲密接触Redis-第三天(Redis的Load Balance)
前言 上两天讲述了Redis的基本搭建和基于HA的集群布署方式以及相关的策略和注意点.今天开始讲述Redis的Cluster功能,而这块目前来说网上资料不是太全,就算有1,2篇也只是单讲服务端的搭建也 ...
- pxe无人值守安装linux机器笔记
最近做一些集群的测试的工作,做服务器测试最根本就是要安装系统,曾经我们用十几个光驱并行安装光驱的日子过去了,自从有了pxe一两天搭建好一个集群不是梦!当然做多了集群的搭建工作最多的感受就是,其实运维工 ...
- springMVC源码分析--异常处理机制HandlerExceptionResolver简单示例(一)
springMVC对Controller执行过程中出现的异常提供了统一的处理机制,其实这种处理机制也简单,只要抛出的异常在DispatcherServlet中都会进行捕获,这样就可以统一的对异常进行处 ...
- Premake可生成vcxproj.filters
Premake可生成vcxproj.filters (金庆的专栏) 添加 vcxproj.filters 文件可以用目录结构组织源文件. 例如premake5添加所有文件: files { ...
- 向VS中添加个PATH怎么样?
属性中,有个调试的目录,向"环境"中添加: PATH="your path";$(PATH) 可以调试用一下.
- Spark分布式计算和RDD模型研究
1背景介绍 现今分布式计算框架像MapReduce和Dryad都提供了高层次的原语,使用户不用操心任务分发和错误容忍,非常容易地编写出并行计算程序.然而这些框架都缺乏对分布式内存的抽象和支持,使其在某 ...
- Vibrator控制手机震动
Vibrator控制手机震动 效果图 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9049755 添加权限 & ...
- 使用java命令重启tomcat
public static void restartMyTomcat() { String location=ConfigUtil.getRestartLocation(); createCmdFil ...
- 向Github提交代码时遇到的一些问题
今天分享一下我的一些小经验,那就是向github提交我们的代码.之前一直是直接使用的浏览器完成的代码的下载任务,没有使用过客户端,为了让自己在工作之前熟练使用GitHub,所以就有了下面的这篇博文了. ...
- hbase操作(shell 命令,如建表,清空表,增删改查)以及 hbase表存储结构和原理
两篇讲的不错文章 http://www.cnblogs.com/nexiyi/p/hbase_shell.html http://blog.csdn.net/u010967382/article/de ...