1、RectTransform
RectTransform的作用用来计算UI的位置和大小,RectTransform继承于Transform,具有Transform的所有特征,通过RectTransform能够实现基本的布局和层次控制。
Pos X, Pos Y | Pivot与Anchor的距离 |
---|---|
Pivot | 中轴,中心点 |
Anchor | 锚点 |
Width&Height | 宽与高,相对于锚点 |
Left, Right, Top, Bottom | 左右上下 |
2、Image
Image控件主要是用来显示图片,显示图片的格式是Sprite,具体属性如下:
Set Native Size :将Image大小设置为图片默认大小。
ImageType总共有四种选项:
- simple :显示单个会拉伸;
- Tilled :平铺显示,图片按照原始显示;
- Sliced :按照九宫格显示,拉伸区域只会在九宫格中间;
- Filled :填充显示,可以根据不同的填充方式模拟技能冷却的效果,常可以用来制作血条,冷却技能等。
3、Text
Text控件是用来显示文本的文本控件,选中Text可以查看属性:
- Line Spacing :行间距
- Rich Text :富文本
- Alignment :对其方式
- Horizontal Overflow :水平溢出
- Vertical Overflow :垂直溢出
4、RawImage
RawImage同样是用来显示图片的控件,跟Image控件的差别就是Image显示图片的格式为Sprite,RawImage显示图片的格式为Texture,此外RawImage可以控制行列。
Texture :导入的图片样式
UV Rect:纹理贴图坐标,w和h
5、Scroll View
Content:可以滚动的内容,该对象必须是带有Scroll Rect的子控件
Horizontal:数据是否可以水平拖动
Vertical:数据是否可以垂直拖动
Movement Type:内容超出容器时的行为
Inertia:是否启用运动惯性
Scroll Sensitivity:滚动灵敏度
Viewport:视口,即是内容的容器
Horizontal Scrollbar:水平滚动条
Visibility:
- Permanent:始终显示滚动条
- AutoHide:自动隐藏
- AutoHideAndExpandViewport:
6、InputField
InputField层级视图当中包含Placeholder与Text,
Placeholder 用于显示占位符,即输入框没有输入文本时显示的文本,例如下图的“Enter text”;
Text 用于显示输入的内容。
Input Field组件属性: | |
---|---|
Text | 初始文本显示的内容 |
Content Type | 文本类型 |
Character Limit | 字符数量限制 |
Line Type | 文本单行显示还是多行 |
Caret Blink Rate | 光标闪动频率 |
Caret Width | 光标的宽度 |
Custom Caret Color | 自定义光标的颜色 |
Selection Color | 选中文本时的颜色 |
On Value Changed(String) | 文本编辑时触发的事件 |
On End Edit(string) | 结束编辑的时候触发的事件 |
private InputField iF;
// Start is called before the first frame update
void Start()
{
iF = GetComponent<InputField>();
iF.onValueChanged.AddListener(Changed_Value);
iF.onEndEdit.AddListener(End_Value);
}
public void Changed_Value(string arg)
{
print("正在输入:");
}
public void End_Value(string arg)
{
print("文本内容:" + arg);
string[] strArray = arg.Split(' ');
int[] numArray = new int[strArray.Length];
for(int i = 0; i < strArray.Length; i++)
{
numArray[i] = Convert.ToInt32(strArray[i]);
print(numArray[i]);
}
for(int j = 0; j < numArray.Length - 2; j++)
{
for(int k = 0; k < numArray.Length - 1; k++)
{
if (numArray[k] > numArray[k + 1])
{
int tem = numArray[k];
numArray[k] = numArray[k + 1];
numArray[k + 1] = tem;
}
}
}
foreach (int item in numArray)
{
print(item);
}
}
7、富文本
用途 | 写法 |
---|---|
加粗 | <b>Hello</b> |
斜体 | <i>Hello</i> |
设置字体大小 | <size=50>Hello</size> |
设置字体颜色 | <color=#ff000000>指定RGB的16进制值</color> <color=red>指定颜色名称</color> |
指定材质(仅对网格文本有用) | <material=2>指定的数字是材质在网格的材质数组中的下标</material> |
指定网格文本的一些属性 | <quad material=1 size=20 x=0.1 y=0.1 width=0.5 height=0.5 /> |
预定义的颜色值及名称
8、Griid Layout Group 网格布局组件
Horizontal Layout Group 横向布局
Vectical Layout Group 纵向布局
Grid Layout Group 表格布局(网格布局)
网格布局组件基本可以替换掉水平布局组件和垂直布局组件。
9、附加
Aspect Ratio Fitter 纵横比例工具组件
用来限制宽高比值的。