当前位置:   article > 正文

Unity3D——进度条Slider_unity sliced 设置fill amount

unity sliced 设置fill amount

在开发游戏过程中经常需要Slider来制作倒计时、积分之类的进度条。

1.由2张图构成

 命名为“baseImage”和“Image”。如图所示。

选中“baseImage”对象,在“Inspector”中添加“Slider”属性,将“Image”拖入到“Fill Rect”中。如图所示。

取消滑动条的可交互"Interactable“”,不然用户可以更改时间或经验值。

2.选中“Image”,设置其“Image”属性中的“Image Type”为“Filled”,根据自己需求,设置“Fill Method”和“Fill Origin”,滑动“Fill Amount”。

效果图如下:

创建脚本“Slider”,用代码修改“Fill  Amount”属性。

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. public class Slider : MonoBehaviour {
  6. Image m_Image;
  7. void Start ()
  8. {
  9. m_Image = GetComponent<Image>();
  10. m_Image.fillAmount = 1f;
  11. }
  12. void Update ()
  13. {
  14. if (m_Image.fillAmount > 0)
  15. {
  16. m_Image.fillAmount -= 1 * Time.deltaTime;
  17. }
  18. }
  19. }

将该脚本挂到“Image”对象上并设置其“custom”属性。

积分、经验值进度条一样的。

只需修改“Fill Method”和“Fill Origin”即可。

效果图如下:

还可以控制Slider的value来改变进度条

  1. Slider baseImage = transform.Find("Canvas/baseImage").GetComponent<Slider>();
  2. baseImage.value = 0.77f;

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/111746
推荐阅读
相关标签
  

闽ICP备14008679号