我正在做一个联合游戏,在那里你必须捡起垃圾并把它送到正确的垃圾箱,我已经创建了一个随机产生垃圾的代码。它工作的很好,但它的产卵是无限的,但我只想要一定数量的产卵。
我希望协同线运行约1或2秒,在某处约10个项目,以产卵在总数。有什么想法吗?
void Start()
{
StartCoroutine(TrashSpawnn());
}
IEnumerator TrashSpawnn()
{
while(true)
{
var wanted = Random.Range(minTras, maxTras);
var position = new Vector3(wanted, transform.position.y);
GameObject gameObject = Instantiate(trashPrefab[Random.Range(0, trashPrefab.Length)],
position, Quaternion.identity);
yield return new WaitForSeconds(secondSpawn);
}
}}
发布于 2022-03-31 19:15:20
你用的是无限循环。
使用for循环来运行您的生成代码10次:
for (int i = 0; i < 10; i++)
{
var wanted = Random.Range(minTras, maxTras);
var position = new Vector3(wanted, transform.position.y);
GameObject gameObject = Instantiate(trashPrefab[Random.Range(0, trashPrefab.Length)],
position, Quaternion.identity);
yield return new WaitForSeconds(secondSpawn);
} https://stackoverflow.com/questions/71697393
复制相似问题