• unity图片`fillAmount`填充方法


    前言

    Unity中,Image是一种用于显示2D图像的组件,而fillAmount属性则是Image组件中一个非常常用的属性之一,用于控制图片填充的比例。在这篇文章中,我们将会介绍fillAmount属性的详细用法。

    介绍

    fillAmount属性是Image组件中的一个实数类型属性,用于控制图片填充的比例。该属性的取值范围在0到1之间,表示填充图案的占比,0表示没有填充,1表示完全填充。

    方法

    fillAmount属性的使用非常简单,只需要将其设置为一个介于0到1之间的实数即可,例如:

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Example : MonoBehaviour
    {
        public Image myImage;
    
        void Start()
        {
            myImage.fillAmount = 0.5f;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在上述代码中,我们首先定义了一个Image类型的变量myImage,然后在Start方法中设置了myImagefillAmount属性为0.5。这样,当该脚本被加载时,myImage的填充图案就会显示一半。

    需要注意的是,当我们设置fillAmount属性时,如果该属性的值小于0,则图片将不会被填充;如果该属性的值大于1,则图片将被完全填充。

    举例子

    例子1:进度条

    一个常见的应用场景是制作一个进度条(ProgressBar),用于显示某个任务的完成进度。我们可以使用fillAmount属性来实现这个功能。以下是一个简单的例子:

    using UnityEngine;
    using UnityEngine.UI;
    
    public class ProgressBar : MonoBehaviour
    {
        public Image fillImage;
    
        public void SetProgress(float progress)
        {
            fillImage.fillAmount = progress;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在上述代码中,我们首先定义了一个Image类型的变量fillImage,然后定义了一个名为SetProgress的方法,该方法接受一个浮点数类型的参数progress,用于设置进度条的填充比例。在SetProgress方法中,我们将progress参数的值赋给fillImagefillAmount属性,从而实现了进度条的功能。

    例子2:倒计时

    另一个常见的应用场景是制作一个倒计时(Countdown)功能,用于倒计时某个任务的剩余时间。以下是一个简单的例子:

    using UnityEngine;
    using UnityEngine.UI;
    
    public class Countdown : MonoBehaviour
    {
        public Image fillImage;
        public float totalTime = 10;
    
        private float remainingTime;
    
        void Start()
        {
            remainingTime = totalTime;
        }
    
        void Update()
        {
            remainingTime -= Time.deltaTime;
            fillImage.fillAmount = remainingTime / totalTime;
    
            if (remainingTime <= 0)
            {
                //倒计时结束
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    在上述代码中,我们首先定义了一个Image类型的变量fillImage,以及一个浮点数类型的变量totalTime,表示倒计时的总时间。在Start方法中,我们将remainingTime变量初始化为totalTime,表示剩余时间为总时间。在Update方法中,我们使用Time.deltaTime来计算每一帧的时间差,从而计算出剩余时间。然后,我们将剩余时间除以总时间,得到当前的填充比例,并将其赋给fillImagefillAmount属性。当剩余时间小于等于0时,表示倒计时结束,我们可以在该代码块中执行倒计时结束的操作。

  • 相关阅读:
    在数据中查找信号
    部分地图瓦片数据源整理
    grpc和protobuf在一起
    记一次 .NET 某电力系统 内存暴涨分析
    About 9.11 This Week
    POI 中 Excel设置列的格式
    全景视频拼接的关键技术与步骤
    机器学习几种常见凸函数的证明
    如何从 Pod 内访问 Kubernetes 集群的 API
    vue2.x封装svg组件并使用
  • 原文地址:https://blog.csdn.net/qq_20179331/article/details/131141518