gpt4 book ai didi

c# - 每指定秒数增加一个整数 c#

转载 作者:行者123 更新时间:2023-11-30 17:25:32 25 4
gpt4 key购买 nike

您将在 void start 函数下看到 currentWave。我希望它每 20 秒递增 1。但不确定在哪里以及如何去做。下面你会看到我声明的变量。我省略了代码的其他部分,因为它不是我需要的。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Spawner : MonoBehaviour
{
private int currentWave;
private float startTime;
private float currentTime;

上面是我声明的变量,下面是我的 stary 函数,currentWave 设置为 1,这是我想每 20 秒更改一次的整数。


void Start()
{
currentWave = 0;
startTime = Time.time;
StartCoroutine(SpawnEnemy(TimeFrame[currentWave]));
}

void Update()
{
currentTime = Time.time - startTime;
Debug.Log(currentTime);
}
}

我使用我的更新函数来获取程序的当前“运行时间”。

最佳答案

使用协程:

private IEnumerator waveIncrementer;

void Start()
{
currentWave = 0;
startTime = Time.time;
StartCoroutine(SpawnEnemy(TimeFrame[currentWave]));
waveIncrementer = IncrementWave();
StartCoroutine(waveIncrementer);
}

IEnumerator IncrementWave()
{
WaitForSeconds waiter = new WaitForSeconds(20f);
while (true)
{
yield return waiter;
currentWave++;
}
}

如果你想让它立即递增,把currentWave++放在yield return waiter;之前:

IEnumerator IncrementWave() 
{
WaitForSeconds waiter = new WaitForSeconds(20f);
while (true)
{
currentWave++;
yield return waiter;
}
}

然后,您可以使用 StopCoroutine(waveIncrementer);

停止它

关于c# - 每指定秒数增加一个整数 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58440160/

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