首页 > 其他分享 >Unity UGUI的Image(图片)组件的介绍及使用

Unity UGUI的Image(图片)组件的介绍及使用

时间:2023-08-23 11:58:21浏览次数:47  
标签:Canvas Image Unity 组件 UGUI image 图片

UGUI的Image(图片)组件的介绍及使用

1. 什么是UGUI的Image(图片)组件?

UGUI的Image(图片)组件是Unity引擎中的一种UI组件,用于显示2D图像。它提供了一种简单而灵活的方式来在游戏中加载和显示图片。

2. 为什么要使用UGUI的Image(图片)组件?

使用UGUI的Image组件可以方便地在游戏中展示各种图片资源,比如角色头像、道具图标等。它具有以下优点:

  • 易用性:UGUI的Image组件提供了简单易懂的接口,使得开发者可以轻松地加载和显示图片。
  • 灵活性:可以通过设置Image组件的属性,如颜色、透明度等,来实现各种效果的图片展示。
  • 性能优化:UGUI的Image组件支持图片的批量渲染,能够高效地处理大量的图片资源。

3. 如何使用UGUI的Image(图片)组件?

下面是使用UGUI的Image组件的五个具体例子代码,并附带操作步骤和注意事项:

示例代码1:加载并显示图片

using UnityEngine;
using UnityEngine.UI;

public class ImageExample : MonoBehaviour
{
    public Image image;
    public Sprite sprite;

    private void Start()
    {
        image.sprite = sprite;
    }
}

操作步骤:

  1. 创建一个空对象,并将该脚本挂载到该对象上。
  2. 在场景中添加一个Canvas对象,并将Canvas的Render Mode设置为Screen Space - Overlay。
  3. 在Canvas下创建一个Image对象,并将Image组件拖拽到脚本的image字段上。
  4. 将要显示的图片资源拖拽到脚本的sprite字段上。
  5. 运行游戏,图片将会在场景中显示出来。

注意事项:

  • 确保图片资源已经导入到Unity工程中。
  • 确保Canvas的Render Mode正确设置,以保证图片在正确的位置显示。

示例代码2:设置图片的颜色

using UnityEngine;
using UnityEngine.UI;

public class ImageExample : MonoBehaviour
{
    public Image image;

    private void Start()
    {
        image.color = Color.red;
    }
}

操作步骤:

  1. 创建一个空对象,并将该脚本挂载到该对象上。
  2. 在场景中添加一个Canvas对象,并将Canvas的Render Mode设置为Screen Space - Overlay。
  3. 在Canvas下创建一个Image对象,并将Image组件拖拽到脚本的image字段上。
  4. 运行游戏,图片的颜色将会变为红色。

注意事项:

  • 可以通过设置image.color属性来改变图片的颜色。
  • 颜色值可以使用Unity的Color结构体来表示。

示例代码3:设置图片的透明度

using UnityEngine;
using UnityEngine.UI;

public class ImageExample : MonoBehaviour
{
    public Image image;

    private void Start()
    {
        Color color = image.color;
        color.a = 0.5f;
        image.color = color;
    }
}

操作步骤:

  1. 创建一个空对象,并将该脚本挂载到该对象上。
  2. 在场景中添加一个Canvas对象,并将Canvas的Render Mode设置为Screen Space - Overlay。
  3. 在Canvas下创建一个Image对象,并将Image组件拖拽到脚本的image字段上。
  4. 运行游戏,图片的透明度将会变为50%。

注意事项:

  • 可以通过设置image.color.a属性来改变图片的透明度。
  • 透明度的取值范围是0~1,0表示完全透明,1表示完全不透明。

示例代码4:设置图片的填充方式

using UnityEngine;
using UnityEngine.UI;

public class ImageExample : MonoBehaviour
{
    public Image image;

    private void Start()
    {
        image.type = Image.Type.Filled;
        image.fillMethod = Image.FillMethod.Horizontal;
        image.fillAmount = 0.5f;
    }
}

操作步骤:

  1. 创建一个空对象,并将该脚本挂载到该对象上。
  2. 在场景中添加一个Canvas对象,并将Canvas的Render Mode设置为Screen Space - Overlay。
  3. 在Canvas下创建一个Image对象,并将Image组件拖拽到脚本的image字段上。
  4. 运行游戏,图片将会以水平填充方式,填充50%的区域。

注意事项:

  • 可以通过设置image.type、image.fillMethod和image.fillAmount属性来改变图片的填充方式和填充比例。
  • Image.Type.Filled表示填充方式,Image.FillMethod.Horizontal表示水平填充,image.fillAmount表示填充的比例。

示例代码5:设置图片的尺寸和位置

using UnityEngine;
using UnityEngine.UI;

public class ImageExample : MonoBehaviour
{
    public Image image;

    private void Start()
    {
        RectTransform rectTransform = image.rectTransform;
        rectTransform.sizeDelta = new Vector2(200, 200);
        rectTransform.anchoredPosition = new Vector2(100, 100);
    }
}

操作步骤:

  1. 创建一个空对象,并将该脚本挂载到该对象上。
  2. 在场景中添加一个Canvas对象,并将Canvas的Render Mode设置为Screen Space - Overlay。
  3. 在Canvas下创建一个Image对象,并将Image组件拖拽到脚本的image字段上。
  4. 运行游戏,图片将会以200x200的尺寸,在Canvas上的位置为(100, 100)。

注意事项:

  • 可以通过设置image.rectTransform.sizeDelta来改变图片的尺寸。
  • 可以通过设置image.rectTransform.anchoredPosition来改变图片在Canvas上的位置。

以上就是关于UGUI的Image(图片)组件的介绍及使用的示例代码和操作步骤,希望能对你有所帮助!

标签:Canvas,Image,Unity,组件,UGUI,image,图片
From: https://www.cnblogs.com/alianblank/p/17650813.html

相关文章

  • [Unity]UnityFactory.factory.BuildArmatureComponent空引用异常怎么办
    最近做面试项目,第一次接触DragonBones,尝试在代码中创建ArmatureComponent,armatureComponent=UnityFactory.factory.BuildArmatureComponent(clothesName);Assert.IsNotNull(armatureComponent);然后每次都是BuildArmatureComponent抛空引用异常,连Assert都碰不到,就算......
  • Unity在进行射线检测时忽略掉指定的碰撞器
    usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;publicclassTest:MonoBehaviour{publicTransformstartPoint;//起始点publicTransformendPoint;//结束点publicList<Collider>ignoreList;privatevoi......
  • ios开发之 -- NSData 和 NSString , UIImage 等之间的互转
    1//NSData转换为UIImage2NSData*imageData=[NSDatadataWithContentsOfFile:imagePath];3UIImage*image=[UIImageimageWithData:imageData];45//UIImage转换为NSData6NSData*imageData=UIImagePNGRepresentation(aimae);1.......
  • Unity TextMeshPro使用自建中文字体
    TextMeshPro  TextMeshPro是Unity新一代字体,是Unity的最终文本解决方案。它是UnityUIText和旧版TextMesh的完美替代方案。功能强大、易于使用、性能高效。目前TextMeshPro对中文的支持也还可以,不过默认不能用,需要自己成生成。  本文就介绍TextMeshPro中文字体文件的......
  • ios开发之--UIButton中imageView和titleLabel的位置调整
    在使用UIButton时,有时候需要调整按钮内部的imageView和titleLabel的位置和尺寸。在默认情况下,按钮内部的imageView和titleLabel的显示效果是图片在左文字在右,然后两者紧挨在一起构成组合居中显示。如下图:我们可以使用setImageEdgeInsets:和setTitleEdgeInsets:方法来调整两者的位置......
  • Unity 资源加载的两种方式:Resources和AssetBundle最详细的解析(转)
    https://blog.csdn.net/xinzhilinger/article/details/115408934前言:在游戏开发学习初期,游戏体量较小,如果游戏场景需要Asset中的资源,我们可能会通过拖动的方式,将其添加到游戏场景中。而到了实际工作中,会发现再这样做就会使得各种拖动的资源非常复杂,难以查找与维护关于资源:在......
  • GDAL在Unity3D中的使用(一)
    1.上官网选择对应版本  https://www.gisinternals.com/query.html?content=filelist&file=release-1930-x64-gdal-3-6-3-mapserver-8-0-0.zip选择StableReleases然后选择对应得版本点进来后,一般下载第一个 把图中dll放到Unity的Assets文件夹下面我们之前建立的Plugins文件......
  • Unity Custom SRP
    CustomRenderPipelineProjectSetup我们需要在线性空间计算光照,所以设置为Linear。PipelineAssetUnity默认使用默认渲染管线,而在这里,我们通过PipelineAsset来管理自定义管线。进一步的,我们将资产的文件格式写成默认渲染管线的路径格式。默认的Csharp文件是游戏逻辑的文......
  • Unity 物体围绕自身中心旋转而非轴心
    ============================================================在上面两张图坐标中心都在轴中心,但是如果用Rotate进行旋转,第一张是正确的,第二张进行了缩放的物体旋转并不会围绕自身中心旋转.解决的方法://相对于某一个点旋转//point相对于哪个点旋转//axis相对于point的......
  • Unity3D 向量大小比较
    Vector3.sqrMagnitude是指长度的平方,也就是Vector3.magnitude的平方计算向量大小的平方会比计算向量的大小要快很多,因为向量的大小由勾股定理得出,所以有开方操作,如果只是单纯的比较两个向量的大小,可以使用sqrMagnitude会快很多。(获取开始和结束时间经过对比发现没有差别,可能这一......