如何在数组或列表中添加和删除具有时间限制的对象 - unity 5 c#。?
How to add and remove object with time limit in array or list - unity 5 c#.?
我想动态地添加和删除预制件到有时间限制的阵列。当用户点击按钮时,预制件将被实例化 5 秒。五秒钟后,这个预制件应该会自动销毁。
如果用户尝试在 5 秒之前实例化一个新的预制件,那么他们可以。
如果第一个预制件以 5 秒的生命时间实例化,第二个预制件将在第一个实例化 3 秒时实例化,那么第二个预制件应在总共 7 秒后销毁。
任何人都可以用很少的代码帮助我。我使用协程,但我做不到。
float pLife = 5.0f;
private IEnumerator SetParticleLifeTime(float time){
while (pLife - Time.time) {
Debug.Log (time-Time.time);
yield return new WaitForSeconds(0);
};
Destroy (this.gameObject);
}
我不知道如何将预制件添加到阵列和删除它。任何人都可以帮助我。?
您只需在实例化的预制件上调用 Destroy(GameObject, float)
。
请参阅 Unity Docs 进一步参考。
var yourGameObject = Instantiate(yourPrefab) as GameObject;
Destroy(yourGameObject, 5); // Destroys 'yourGameObject' after 5 seconds
我想动态地添加和删除预制件到有时间限制的阵列。当用户点击按钮时,预制件将被实例化 5 秒。五秒钟后,这个预制件应该会自动销毁。
如果用户尝试在 5 秒之前实例化一个新的预制件,那么他们可以。
如果第一个预制件以 5 秒的生命时间实例化,第二个预制件将在第一个实例化 3 秒时实例化,那么第二个预制件应在总共 7 秒后销毁。
任何人都可以用很少的代码帮助我。我使用协程,但我做不到。
float pLife = 5.0f;
private IEnumerator SetParticleLifeTime(float time){
while (pLife - Time.time) {
Debug.Log (time-Time.time);
yield return new WaitForSeconds(0);
};
Destroy (this.gameObject);
}
我不知道如何将预制件添加到阵列和删除它。任何人都可以帮助我。?
您只需在实例化的预制件上调用 Destroy(GameObject, float)
。
请参阅 Unity Docs 进一步参考。
var yourGameObject = Instantiate(yourPrefab) as GameObject;
Destroy(yourGameObject, 5); // Destroys 'yourGameObject' after 5 seconds