Unity3d 如何在统一中无休止地产生一个对象
我是新来的。我想知道以下问题的参考资料:每隔(比如3秒钟)一个立方体就会在天空中生成,然后落到地上,这个过程会一直持续下去Unity3d 如何在统一中无休止地产生一个对象,unity3d,Unity3d,我是新来的。我想知道以下问题的参考资料:每隔(比如3秒钟)一个立方体就会在天空中生成,然后落到地上,这个过程会一直持续下去 我必须使用一些循环,但问题是如何重复生成。我认为对于游戏开发人员来说,这非常简单,因此感谢您的帮助。因此,如果我理解正确,您希望每隔几秒钟显示一次对象。您可以使用协同程序来实现这一点。您可以这样做: private bool _spawning = true; void Start() { StartCoroutine(SpawnRoutine()); } IEn
我必须使用一些循环,但问题是如何重复生成。我认为对于游戏开发人员来说,这非常简单,因此感谢您的帮助。因此,如果我理解正确,您希望每隔几秒钟显示一次对象。您可以使用
协同程序来实现这一点。您可以这样做:
private bool _spawning = true;
void Start()
{
StartCoroutine(SpawnRoutine());
}
IEnumerator SpawnRoutine()
{
while (_spawning == true)
{
yield return new WaitForSeconds(3); // wait 3 sec
GameObject new_obstacle = Instantiate(obstacle, transform.position = new Vector3(2 /* x postion*/, 2/* y position*/ , 2/* z position*/), Quaternion.identity);
}
}
如果\u sprowning
设置为true
使用@Tygo这样的协同程序是一个很好的解决方案,那么这个循环就不会结束
另一种选择是简单地使用Update函数
using UnityEngine;
public class CubeSpawner : MonoBehaviour
{
public GameObject cubePrefab;
public float seconds;
private float elapsedSeconds;
protected void Update()
{
elapsedSeconds += Time.deltaTime;
if (elapsedSeconds >= seconds)
{
Instantiate(cubePrefab, transform.position, Quaternion.identity);
elapsedSeconds = 0;
}
}
}
您将使用一个“true循环”,即在true时运行的循环,因此类似于while(true){…}
。。。。它将永远运行,永远。