Unity3D - UGUI的手动搭建
了解UGUI组件的搭建方式,有助于搭建我们自己的UI界面。
Text 文本
text 是UGUI中的基本控件,在Hierarchyi面板创建一个空物体 - 给这个空物体添加一个Text组件即可实现与text空间相同的功能。
Image 图像
Image 是UGUI中的基本控件,在Hierarchyi面板创建一个空物体 - 给这个空物体添加一个Image组件即可实现与Image控件相同的功能。
Raw Image 原始图片
Raw Image 和 Image基本相同,
功能上Raw Image比Image少了image Type功能,Raw Image可以添加所有类型的图片 而Image只能添加Spritie(精灵)类型的图片;
性能上由于Raw Image比Image的功能少,Raw Image的性能比Image 的性能要好,Raw Image主要用于做一些不需要在游戏运行中不需要改动的图片,例如 背景图片。
Button 按钮
Button中的组件:Image组件,Button组件,Text组件(非必需)。
搭建方式:
1.在Canvas下创建一个空物体(改名为Button)
2.给这个Button添加一个Image组件和一个Button组件
3.在创建一个空物体作为Button的子物体(改名为Text)
4.给Text添加一个Text组件,即完成了控件Button的搭建。
Toggle 开关
Toggle中的组件:Toggle组件,两个Image组件,Text组件
搭建方式:
1.在Canvas创建一个空物体(改名为Toggle)
2.给Toggle添加一个Toggle组件
3.添加一个Image控件作为Toggle的子物体,用于做开关的背景(将该控件改名为Background)
4.添加一个Image控件作为Background的子物体,用于做开关的前景(将该空间改名为Checkmark)
5.创建一个空物体作为Toggle的子物体(改名为Label)
6.给Label添加一个Image组件或添加一个Text组件(注意:Image组件、Text组件、Raw Image组件不能同时存在于一个物体上)
7.点击物体Toggle,找到它上面的Toggle组件,将Background拖拽到TargetGraphic属性上,在将Checkmark拖拽到Graphic属性上
8.最后将每个物体调整到合适大小,即完成了控件Toggle的搭建
Slider 滑竿
Slider中的组件:Slider组件,三个Image组件
搭建方式:
1.在Hierarchy面板创建一个空物体(改名为Slider)
2.给Slider添加一个Slider组件
3.添加三个Imge控件作为Slider的子物体(分别改名为Background、Fill、Handle)
4.给每个子物体添加图片,并调整到合适的大小
5.点击物体Slider,找到它上面的Slider组件,将Background拖拽到Target Graphic属性上 作为Handle未经过的区域,将Fill拖拽到Fill Tect属性上作为Handle经过的区域,将Handel拖拽到Handel Reck属性上作为拖动点。
6.调整各个物体的大小即可完成Slider的创建。
注意:
调整图片时Slider组件的Value值需为1,Handle需在滑竿右边。
若果实现功能时图片位置异常,可能是Background和Fill的位置放反了。
Scrollbar 滚动工具
Scrollbar中的组件:Scrollbat组件、两个Image组件
搭建方式:
1.在Canvas下创建一个空物体(改名为Scrollbar)
2.给Scrollbar添加一个Scrollbar组件和一个Image组件
3.添加一个Iamge控件作为Scrollbar的子物体(改名为Handle)
4.点击物体Scrollbar,找到Scrollbar组件,将Handle拖拽到Target Graphic的位置和Handle Rect的位置
5.调整各个物体到合适大小即可完成Scrollbat的搭建
注意:搭建时和Slider不同,创建滑块的位置时value值要为0,若为1则滑动条右侧会有空隙。
Dropdowm 下拉菜单
Input Field 输入框
Input Fild中的组件:Input Fild组件、Image组件、两个Text组件
搭建方式:
1.在Canvas下创建一个空物体(改名为InputField)
2.给InputField添加一个InputField组件和一个Image组件
3.添加两个Text控件作为InputField的子物体(分别改名为Text、Placeholder)
4.点击物体InputField,找到InputField组件,Target Graphic一般会默认添加它自身,将Text拖拽到Text Component的位置 用于显示用户输入的文本,将Placeholder拖拽到Placeholder的位置 用于显示提示信息(提示用户输入的内容)。
5.调整各个物体到合适大小即可完成Input Dield的搭建
Canvas 画布
Panel 面板
Scroll View 滚动视图
Scroll View 中的组件:Image组件和Scroll Rect组件、Image组件和Mask组件、
搭建方式:
1.在Canvas下创建一个空物体(改名为ScrollView)
2.给ScrollView添加一个ScrollRect组件和一个Image,Image可添加图片做背景。
3.创建一个空物体作为ScrillView的子物体(改名为viewport),该物体的大小为可见范围,若需要显示的内容超出了这个范围那么超出的部分会被隐藏。
4.给viewport添加一个Mask组件和一个Image组件,(Mask中的Show Mask Graphic默认是勾选的 意思是显示viewport的背景图片,如取消勾选 则viewport中背景图片将不可见)
5.创建一个空物体作为viewport的子物体(改名为Content),若Content的范围大于viewport的范围,那么覆盖部分可以在游戏运行过程中拖拽显示,也可以将要显示的内容作为Content的子物体,但是该子物体需要在Content范围内。
6.点击ScrollView找到Scroll Rect组件,将Viewport拖拽到Viweport的位置,将Content拖拽到Content的位置。
7.调整各个物体到合适大小即可完成ScrollView的搭建
Event System 事件系统
在自己搭建UI界面时最好先创建一个UGUI提供的控件,然后把控件删除保留Canvas和EventSystem
Unity3D - UGUI的手动搭建的更多相关文章
- Unity3d UGUI 通用Confirm确认对话框实现(Inventory Pro学习总结)
背景 曾几何时,在Winform中,使用MessageBox对话框是如此happy,后来还有人封装了可以选择各种图标和带隐藏详情的MessageBox,现在Unity3d UGui就没有了这样的好事情 ...
- WindowsServer2012 R2 64位中文标准版(IIS8.5)下手动搭建PHP环境详细图文教程(二)安装IIS8.5
//来源:http://www.imaoye.com/Technology/WindowsServer2012R264IIS85.html 阿里云服务器ECS Windows Server 2012 ...
- Linux手动搭建LAMP环境
当你看到标题里的“手动搭建”,你是不是会想,难不成还有“自动搭建”?当然......不是,这里的“手动搭建”是指按部就班的搭建Apache.MySQL.PHP环境,是相对于集成软件包而言的.所以你是不 ...
- php 手动搭建环境
php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...
- 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)
1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...
- React 系列文章(1): npm 手动搭建React 运行实例 (新手必看)
摘 要 刚接触React 开发, 在摸索中构建react 运行环境,总会遇到各种坑:本文,将用最短时间解决webpack+react 环境搭建问题. 1.如果你还没有React基础 看这里. 2.如果 ...
- PHP手动搭建环境
php手动搭建环境有好多种组合,版本号不一致,会导致搭建失败. 我搭建的组合是: php5.6+MySQL5.6+Apache2.4的组合. 一.PHP语言包下载 首先从官网上下载php5.6 htt ...
- 手动搭建 redis 集群
转自http://meia.fun/article/1544161420745 手动搭建 redis 集群 redis 基本命令: 启动 redis 服务:redis-server xxx.conf ...
- .NET完全手动搭建三层B/S架构
简介:三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(WebUI).业务逻辑层(BusinessLogicLayer).数据访问层(DataAc ...
随机推荐
- SQLServer 2012 Always on配置全过程
AlwaysOn取数据库镜像和故障转移集群之长.AlwaysOn不再像故障转移集群那样需要共享磁盘,从而主副本和辅助副本可以更容易的部署到不同的地理位置:AlwaysOn还打破了镜像只能1对1的限制, ...
- android 内存泄露测试
Android 程序由java语言编写,android的内存管理与java相似,通过new为对象分配内存,所有对象在java堆内分配空间,对象回收有个垃圾回收器来完成.GC就是垃圾收集的意思(Gaba ...
- js使用my97插件显示当前时间,且select控制计算时间差
做页面需要两个时间输入框一个显示当前时间,一个显示之前的时间,并且需要一个select下拉框控制两个时间输入框之间的差,效果如下图: 这里使用的是My97DatePicer,简单方便,引入my97插件 ...
- COGS 1619. [HEOI2012]采花
★★☆ 输入文件:1flower.in 输出文件:1flower.out 简单对比时间限制:5 s 内存限制:128 MB [题目描述] 萧薰儿是古国的公主,平时的一大爱好是采花. 今 ...
- 解决nginx bind() to 0.0.0.0:80 failed 问题
nginx的配置文件一开始默认是80端口,出现这个错误多半是80端口已经被占用.这时候只需要把 server { listen 8088; server_name localhost lcsf.com ...
- code Gym 100500D T-shirts(暴力)
因为只能买一次,暴力枚举一下买的衣服的大小. #include<cstdio> #include<map> #include<algorithm> using na ...
- 在CNN中使用Tensorflow进行数据增强
开始之前,需要思考一些基本问题 1.为什么需要大量数据 当您训练机器学习模型时,您真正在做的是调整其参数,以便它可以将特定输入(例如,图像)映射到某个输出(标签).我们的优化目标是追逐我们模型损失较低 ...
- leetcode 179. Largest Number 、剑指offer33 把数组排成最小的数
这两个题几乎是一样的,只是leetcode的题是排成最大的数,剑指的题是排成最小的 179. Largest Number a.需要将数组的数转换成字符串,然后再根据大小排序,这里使用to_strin ...
- 什么是redis的持久化?
什么是redis的持久化? RDB 持久化:该机制可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot). AOF 持久化:记录服务器执行的所有写操作命令,并在服 ...
- Bootstrap历练实例:大小Well
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...