Unity3d进度条
Unity3d progress bar
我正在使用 unity3D 开发游戏,我需要帮助制作进度条,以便在收集特定物品时添加时间,从而游戏继续进行。
创建一个 UI 填充类型的图像。根据您的进度条使用水平或垂直填充。然后,您可以从脚本内部操纵图像的值。我会给你一个非常简单的 C# 例子。对于其余部分,您可以只使用 google 并阅读统一脚本 API.
public class Example: MonoBehaviour {
public Image progress;
// Update is called once per frame
void Update ()
{
progress.fillAmount -= Time.deltaTime;
}
}
你可以使用滑块 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
}
}
我正在使用 unity3D 开发游戏,我需要帮助制作进度条,以便在收集特定物品时添加时间,从而游戏继续进行。
创建一个 UI 填充类型的图像。根据您的进度条使用水平或垂直填充。然后,您可以从脚本内部操纵图像的值。我会给你一个非常简单的 C# 例子。对于其余部分,您可以只使用 google 并阅读统一脚本 API.
public class Example: MonoBehaviour {
public Image progress;
// Update is called once per frame
void Update ()
{
progress.fillAmount -= Time.deltaTime;
}
}
你可以使用滑块 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
}
}