Unity3d进度条

时间:2015-07-26 12:56:41

标签: c# unity3d unityscript unity3d-gui

我正在使用unity3D开发游戏,我需要帮助制作进度时间栏,以便在收集特定项目时添加时间,从而继续游戏。

2 个答案:

答案 0 :(得分:10)

创建一个类型为Filled的UI图像。根据进度条使用水平或垂直填充。然后从脚本内部可以操纵图像的值。我会给你一个非常简单的c#例子。对于其他人,您可以使用谷歌阅读统一脚本API。

public class Example: MonoBehaviour {

    public Image progress;

    // Update is called once per frame
    void Update () 
    {
            progress.fillAmount -=  Time.deltaTime;
    }
}

答案 1 :(得分:1)

你可以使用滑块en slider.setvalue

示例:

//to use this add first a slider to your canvas in the editor.
public GameObject sliderObject; //attachs this to the slider gameobject in  the editor or use Gameobject.Find
Slider slider = sliderObject.GetComponent<Slider>();
float time;
float maxtime; //insert your maxium time

void start(){
    slider.maxValue = maxtime;
}

void update()
{
    time += Time.deltaTime;
    if (time < maxtime)
    {
        slider.value = time;
    }
    else
    {
        Destroy(sliderObject);
        //time is over, add here what you want to happen next
    }
}