8.UGUI基础-三大基础控件-Image图片控件
8.1 知识点
Image图片控件是什么
- Image是图像组件,是UGUI中用于显示精灵图片的关键组件。
- 除了背景图等大图,一般都使用Image来显示UI中的图片元素。
Image图片组件参数
Source Image 源图形:图片来源(图片类型必须是”精灵“类型)
Color 颜色:图像的颜色,在原图的基础上叠加
Material 材质:图像的材质(一般不修改,会使用UI的默认材质)
Raycast Target 射线目标:是否作为射线检测的目标(如果不勾选将不会响应射线检测,可以穿透当前控件点击到后面的控件)
Maskable:是否能被遮罩(之后结合遮罩相关知识点进行讲解)
Image Type 图片类型
Simple-普通模式:均匀缩放整个图片
Sliced-切片模式:9宫格拉伸,只拉伸中央十字区域
- 要打开精灵编辑开启设置九宫格
- Pixels Per UnitMultiplier:每单位像素乘数,一般不修改
- Fill Center:中心填充,不勾选图片会中间空心
Tiled-平铺模式:重复平铺中央部分
Filled-填充模式:
- 可以用于做血条、cd进度条等
- Fill Method:填充方式
- Fill Origin:填充原点
- Fill Amount:填充量
- Clockwise:顺时针方向
Use Sprite Mesh 使用精灵网格:勾选的话Unity会帮我们生成图片网格
Preserve Aspect 保持长宽比:确保图像保持其现有尺寸
Set Native Size 设置原生大小:设置为图片资源的原始大小
Image图片代码控制
GetComponent<Image>() 获取当前脚本所附加的 GameObject 上的 Image 组件
// 获取当前脚本所附加的 GameObject 上的 Image 组件
Image image = this.GetComponent<Image>();
Image.sprite变量 设置为 Image 的显示图像
// 从资源文件夹中加载名为 "ui_TY_fanhui_01" 的 Sprite,并将其设置为 Image 的显示图像
image.sprite = Resources.Load<Sprite>("ui_TY_fanhui_01");
(transform as RectTransform).sizeDelta 设置为 Image 的宽高
// 将当前 GameObject 的 Transform 转换为 RectTransform,然后修改其尺寸为宽度 200、高度 200 的 Vector2
(transform as RectTransform).sizeDelta = new Vector2(200, 200);
Image.raycastTarget 是否进行射线检测
// 禁用该 Image 组件的射线检测,使其不响应用户的点击事件
image.raycastTarget = false;
Image.color Image的颜色
// 将该 Image 组件的颜色设置为红色
image.color = Color.red;
8.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Lesson08_UGUI基础_三大基础控件_Image图片控件 : MonoBehaviour
{
void Start()
{
#region 知识点一 Image是什么?
//Image是图像组件
//是UGUI中用于显示精灵图片的关键组件
//除了背景图等大图,一般都使用Image来显示UI中的图片元素
#endregion
#region 知识点二 Image参数相关
#endregion
#region 知识点三 代码控制Image
// 获取当前脚本所附加的 GameObject 上的 Image 组件
Image image = this.GetComponent<Image>();
// 从资源文件夹中加载名为 "ui_TY_fanhui_01" 的 Sprite,并将其设置为 Image 的显示图像
image.sprite = Resources.Load<Sprite>("ui_TY_fanhui_01");
// 将当前 GameObject 的 Transform 转换为 RectTransform,然后修改其尺寸为宽度 200、高度 200 的 Vector2
(transform as RectTransform).sizeDelta = new Vector2(200, 200);
// 禁用该 Image 组件的射线检测,使其不响应用户的点击事件
image.raycastTarget = false;
// 将该 Image 组件的颜色设置为红色
image.color = Color.red;
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com