计时器现在可以完美工作(已解决,请参阅答案)

问题描述 投票:0回答:1
using System.Collections;

using UnityEngine;

public class Timer : MonoBehaviour
{

    public ZeitManager zeitmanager;

    public IEnumerator TimerDownSekunden()
    {
        if (zeitmanager.Sekunden == 0)
        {

            zeitmanager.SekundenText.text = "" + zeitmanager.Sekunden;

            StartCoroutine(TimerDownMinuten());

        }

        zeitmanager.Sekunden--;

        zeitmanager.SekundenText.text = "" + zeitmanager.Sekunden;

        yield return StartCoroutine("TimerDownSekunden");

    }

    public IEnumerator TimerDownMinuten()
    {

        zeitmanager.Minuten--;

        zeitmanager.MinutenText.text = "" + zeitmanager.Minuten;

        zeitmanager.Sekunden = 60;

        zeitmanager.SekundenText.text = "" + zeitmanager.Sekunden;

        yield return StartCoroutine("TimerDownSekunden");

    }

}

我有一个在脚本时间管理器中启动的按钮,它是一个从该脚本中调用 IEnumerator 的函数,它可以工作,但只能持续 1 秒,之后脚本停止我通过在每次运行时更新 TextMeshProUGUI 文本来检查它,我也使用时间管理器中的公共 int,我可以在 Unity 编辑器中看到它在第一次运行时有效,但之后就不再有效了

unityscript ienumerator
1个回答
0
投票

Dieses Skript ist für 无限定时器 现实的 肠道功能

using UnityEngine;

using UnityEngine;

using TMPro;

public class ZeitManager : MonoBehaviour
{
    public int Sekunden;

    public int Minuten;

    public bool TimerLäuft;

    public TextMeshProUGUI SekundenText;

    public TextMeshProUGUI MinutenText;

    public void LevelStart()
    {

        TimerLäuft = true;

        StartCoroutine("TimerDownSekunden");

    }

    void Update()
    {

        if (Minuten == 0 && Sekunden == 0)
        {

            TimerLäuft = false;

        }

        if (Sekunden == 0 && TimerLäuft == true)
        {

            Sekunden = 60;

            Minuten--;

        }

        SekundenText.text = "" + Sekunden;

        MinutenText.text = "" + Minuten;


    }

    public IEnumerator TimerDownSekunden()
    {

        while(TimerLäuft == true)
        {

            Sekunden--;

            yield return new WaitForSeconds(1);

        }
    }

}

我现在已将所有内容打包到脚本中并使其变得更简单,现在一切正常,我认为这是最简单的计时器

© www.soinside.com 2019 - 2024. All rights reserved.