源码17:Image
Image可以说是用的最多得UI组件了,相比于RawImage来说也复杂得多
public class Image : MaskableGraphic, ISerializationCallbackReceiver, ILayoutElement, ICanvasRaycastFilter
{
...
[SerializeField]
private Sprite m_Sprite;
/// How the Image is drawn.
[SerializeField] private Type m_Type = Type.Simple;
...
}
Image使用得图片资源是Sprite格式,这个需要在图片导入得时候在Inspector里吧TextureType 设置为Sprite
Image重写了Graphic里得OnPopulateMesh
protected override void OnPopulateMesh(VertexHelper toFill)
{
if (activeSprite == null)
{
base.OnPopulateMesh(toFill);
return;
}
switch (type)
{
case Type.Simple:
if (!useSpriteMesh)
GenerateSimpleSprite(toFill, m_PreserveAspect);
else
GenerateSprite(toFill, m_P

本文详细解析Unity UI中的Image组件工作原理及不同渲染模式,包括Simple、Sliced、Tiled和Filled模式,并介绍了每种模式的具体实现细节。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



