UGUI源码剖析(RawImage)

简要介绍

RawImage继承了MaskableGraphic,顾名思义,就是未经处理的图片,每个RawImage都会创建一个DrawCall,所以最好用在背景图片或是临时图形。RawImage只继承了MaskableGraphic抽象类。

重写了Graphic的SetNativeSize方法,具体实现设置RectTransform的sizeDelta跟纹理Texture的大小尺寸一致。

 

关键方法

SetNativeSize方法

使图片保持原有大小

OnPopulateMesh方法

重写Graphic的OnPopulateMesh方法,在CanvasUpdateRegistry布局重建和图形重建时,会调用重建序列中的Graphic的Rebuild方法,Rebuild方法会调用OnPopulateMesh方法,为CanvasRenderer的Mesh提供了顶点、顶点颜色、UV和三角形信息。OnPopulateMesh方法把顶点数据和三角形信息保存到VertexHelper中。

补充知识点:

Unity使用的许多2D坐标空间,其中大部分将X定义为向右增加,而Y则向上增加。(比如,Camera.rect或Camera.pixelRect),而在GUI布局中的Rect是一种特例,(0,0)在左上角,(1,1)在右下角。

 

重要属性和字段

public Texture texture

纹理

public Rect uvRect

纹理使用的UV

X值:表示距离左边的距离,

Y值:表示距离顶部的距离,

W值:表示矩形的宽度,从X位置开始测量,

H值:表示矩形的高度,从Y位置开始测量,

比如X=0.5,Y=0,W=1, H=1,会只显示右半部分。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值