gpt4 book ai didi

c# - Unity Slider 减少作为定时器

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:24 25 4
gpt4 key购买 nike

我正在尝试制作一个倒数计时器,但使用的是 Unity Slider 而不是文本,但我遇到了一些问题。所以我当前的代码是:

using UnityEngine;
using UnityEngine.UI;
using System.Collections;

public class CountdownTimer : MonoBehaviour {
//public Text timeText;

public float startingTime = 100.0f;
public Slider Timer;

// Use this for initialization
void Start () {
Timer = GetComponent<Slider> ();
}

// Update is called once per frame
void Update () {

startingTime -= Time.deltaTime;
Timer.value = startingTime;

if (startingTime <= 0)
{
startingTime = 0;
Application.LoadLevel ("GameOver");
}
}
}

如果我用文本替换 slider ,则此代码有效,反之亦然。我的第二个问题是,当我将此代码附加到我的播放器并从层次结构链接 slider 时,它会在我开始游戏时消失。

最后一个问题是,当我尝试添加一个 On Value Changed 时,我可以将它链接到我的播放器以从代码中获取功能,但是通过我的研究,我无法将它链接到任何东西,因为我只有启动和更新。滚动条可以使用私有(private)空隙并以这种方式接收动态 float ,但我还不能使用 slider

例子: On Change Value

最佳答案

它在您说的 slider 上不起作用,您需要在 slider 组件上将最大值作为 100 传递,或者它使用 1 直到值介于 0 和 1 之间。

UI 项目必须位于 Canvas 下才能被渲染,因此将它附加到您的播放器会使它从渲染中被丢弃。您可以将带有 slider 的 Canvas 作为子对象放在播放器对象下。但为了清晰起见,我会将 Canvas 分开(POV)。

你添加的图片显示你传递了一个对象,但是现在你需要分配一个方法。单击无功能,它将显示所有可用的方法。

关于c# - Unity Slider 减少作为定时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34711881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com