关于Unity中UI中的Mask组件、Text组件和布局
一、Mask组件
遮罩,Rect Mask矩形Mask(Rect Mask2D组件),图片Mask(Mask组件)(图片Mask的透明度不为0的部分显示子图片,为0的部分不显示子图片)
Rect Mask矩形Mask:
1.创建一个Canvas
2.配置Canvas,上一章讲过
3.在Canvas下面创建一个空子节点,取名Mask,专门用来做遮罩处理
4.在Mask节点下面再创建一个UI的Image子节点,拖Sprite类型的贴纸到Image子节点中,记得点击Set Native Size
5.给Mask节点加一个Rect Mask2D的组件,这时候Mask下面的孩子只能在Mask节点大小的矩形内可见,这就是Rect Mask
图片Mask:
1.创建一个Canvas
2.配置Canvas,上一章讲过
3.在Canvas下面创建一个Image类型的UI子节点,取名Image_Mask,专门用来做图片Mask处理
4.把图片Mask图片拖进Image_Mask中,这种图片是中间一个灰色圆形,其他部分都是透明的。
5.在Image_Mask节点下挂载一个Mask组件
6.在Image_Mask节点再创建一个Image的UI子节点,把要显示的图片拖进去,这时候图像显示一个圆形的样子。
7.虽然是个圆圆的头像,但是边缘有一点毛边,看起来不是很好看,可以在边缘再加一个框
8.创建一个avator的空节点在Image_Mask节点上面,在avator节点下面创建一个Image子节点,把相框贴图拖进去。就显示一个完整的头像和框。
二、布局
1.创建一个Canvas
2.配置Canvas,上一章讲过
3..在Canvas下面创建一个空子节点叫做Layout
4.在Layout节点下面创建许多的子Image的UI节点,依次把贴图拖进去。
5.给Layout节点挂载Vertical Layout Group组件,这个组件可以使得Layout节点下面的子图片都垂直排放
垂直:
Vertical Layout Group组件属性:
Spacing 10:每个图片之间的间距为10
Padding :图片和各条边界的距离
Child Alignment:子节点的排布位置,上下左右
Child Force Expand:图片不会随着整体缩放而产生拉伸
水平:
Horizontal Layout Group组件
垂直水平排列:
Grid Layout Group组件
1.Cell Size:每个子节点的大小
2.Spacing:每个子节点的间距
3.Start Center:开始的位置,第一个元素的位置
4.Start Axis:元素的主轴线
5.Child Alignment:对齐方式
6.Constraint:指定布局的行或列
三、Text组件
1.创建一个Canvas
2.配置Canvas,上一章讲过
3..在Canvas下面创建一个Text的UI节点
4.Text节点的font可以拖进TTF字体文件
Text组件属性:
1.Text 显示的文本
2.Font 使用的文字的字体;
3.FontStyle: 文字字体样式;
4.LineSpacing: 行间距;
5.Alignment: 对齐方式;pi'pe6: Color: 字体的颜色;
7.Horizontal Overflow水平溢出:有两个属性值,Wrap裁剪(按单词来裁剪的),Overflow显示全部
8.Vertical 垂直溢出:Truncate裁剪,Overflow显示全部
9.RichText 多格式文本: 把这段写在Text属性框中<color=blue></color>,<color=blue>hello world</color>里面的文字是蓝色的。
10.Best Fit 最佳匹配方式
使用脚本代码来修改Text,挂载在Canvas上面:
Text txt;
void Start(){
this.txt=this.transform.Find("Text").GetComponent<Text>();
this.txt.Text="Hello World";
this.txt.fontStyle=FontStyle.Bold;
}
Unity的强大之处是可以在运行的时候修改属性,运行结束后会恢复。
关于Unity中UI中的Mask组件、Text组件和布局的更多相关文章
- 关于Unity中UI中的Image节点以及它的Image组件
一.图片的Inspector面板属性 Texture Type:一般是选择sprite(2D and UI) Sprite Mode:一般是选择Single Packing Tag:打包的标志值,最后 ...
- 关于Unity中UI中的Button节点以及它的Button组件
Button是最常用的UI节点,包含的组件有 1.Image组件 显示Button的纹理,把Image贴图拖进Image组件中后,记得点击Set Native Size,显示贴图原始大小 2.Butt ...
- 关于Unity中UI中的Slider,Toggle和InputField等节点
一.Slider节点 1.创建一个Canvas 2.对Canvas进行一些初始化操作 3.创建一个Image的UI节点在Canvas下面作为子节点 4.把Image铺满整个Canvas,把宽高设置为6 ...
- 关于Unity中UI中的RawImage节点以及制作地图滚动效果
一.贴图的Texture Type属性类型 Texture:会把贴图的大小转换为最相近的2的n次方,比如400X1369会转换为512X1024. Sprite 2D:是贴图的原始大小. 二.RawI ...
- 关于 Unity UI 中 GraphicRaycaster.Raycast 数量巨大的问题
有时候会发现 Unity UI 非常耗时,在 Profiler 中可以轻易的看到 UI 中 的 GraphicRaycaster.Raycast 单帧调用可以成百上千,甚至好几千,帧速率前不忍赌,一关 ...
- 【Unity游戏开发】浅谈 NGUI 中的 UIRoot、UIPanel、UICamera 组件
简介 马三最近换到了一家新的公司撸码,新的公司 UI 部分采用的是 NGUI 插件,而之前的公司用的一直是 Unity 自带的 UGUI,因此马三利用业余时间学习了一下 NGUI 插件的使用,并把知识 ...
- 关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false
关于如何在 Unity 的 UI 菜单中默认创建出的控件 Raycast Target 属性默认为 false 我们在 Unity 中通过 UI 菜单创建的各种控件,比如 Text, Image 等, ...
- unity ui中使用onmouseover
unity ui中鼠标移进或者移出的触发方式与2d.3d的不同,2d.3d物体使用的是onmouseover,ui使用的是OnPointerEnter.需要实现以下两个接口. public class ...
- 关于Element UI中select组件中遇到的问题
问题一:在使用select组件设置多选功能后,窗口抖动问题? 详细描述:在我使用select做多选的功能时出现了窗口抖动的问题,测试的时候发现,在有些人的电脑上抖动,有些人的电脑上不抖,找了很多文档, ...
随机推荐
- POJ 1789:Truck History(prim&&最小生成树)
id=1789">Truck History Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17610 ...
- 从一到面试题了解js异步机制:setTimeout 和 Pronmise
1.毫无疑问setTimeout是最晚输出的 2.请无视undefined,这是浏览器的返回值. 3.new Promise中并不是异步,而.then()后才是异步.
- object-c 获得目录(包括子目录)下所有文件和文件夹路径
void getAllPathNameInDirectory(vector<string>&filePathList,vector<string>&direct ...
- How to kill a process on a port on linux 怎么杀死 关掉一个端口
sudo kill `sudo lsof -t -i:9001`
- Spring自动装配Bean详解
1. Auto-Wiring ‘no’ 2. Auto-Wiring ‘byName’ 3. Auto-Wiring ‘byType 4. Auto-Wirin ...
- [学习笔记]Spring依赖注入
依赖: 典型的企业应用程序不可能由单个对象(在spring中,也可称之bean)组成,再简单的应用也是由几个对象相互配合工作的,这一章主要介绍bean的定义以及bean之间的相互协作. 依赖注入: s ...
- 写个关于使用cocostudio Armature实现动画自由切换的小demo
这是一个关于使用cocostudio实现动画自由切换的小demo auto sprite =Sprite::create("background.png"); sprite-> ...
- linux 调试利器gdb, strace, pstack, pstree, lsof
1) 如何使用strace+pstack利器分析程序性能? http://www.cnblogs.com/bangerlee/archive/2012/04/30/2476190.html 此文有详细 ...
- 简单了解一下c编译过程
大一的时候,学习c语言,用的是VC6.0.用了1年多,到后来了解了Linux,知道了gcc编译器,开始使用gcc Hello.c -o a.out 这样的命令进行编译.后来又学了gcc的一些其他的命令 ...
- go--Ubuntu下安装GO LANG,测试输入hello world
1.下载go语言源码,https://storage.googleapis.com/golang/go1.6.1.linux-amd64.tar.gz 2.解压缩源码包tar zxvf go1.6.1 ...