赞
踩
在开发游戏过程中经常需要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”属性。
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- using UnityEngine.UI;
-
- public class Slider : MonoBehaviour {
- Image m_Image;
- void Start ()
- {
- m_Image = GetComponent<Image>();
- m_Image.fillAmount = 1f;
- }
- void Update ()
- {
- if (m_Image.fillAmount > 0)
- {
- m_Image.fillAmount -= 1 * Time.deltaTime;
- }
- }
- }
将该脚本挂到“Image”对象上并设置其“custom”属性。。
积分、经验值进度条一样的。
只需修改“Fill Method”和“Fill Origin”即可。
效果图如下:
还可以控制Slider的value来改变进度条
- Slider baseImage = transform.Find("Canvas/baseImage").GetComponent<Slider>();
- baseImage.value = 0.77f;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。