我的二维游戏中有一个数组列表中的对象。这些对象实例化了游戏中的其他对象。哪些实例化是基于随机的。但是,这些可能会在游戏过程中被破坏。代码仍然试图寻找被破坏的变换,所以我告诉它只在数组不为空时从数组中实例化,修复错误消息。尽管如此,行为仍然存在。由于其中一个数组每隔设定的秒数生成一个游戏对象,它仍然可以决定从一个为空的数组生成。当它随机选择一个为null的数组时,有一段时间该play不得不坐等事情发生,这当然是不能接受的。我如何告诉游戏当数组为空时,跳过它并转到下一个,为了摆脱游戏中的等待期?我也知道 void 不会返回任何东西。它只是脚本末尾的占位符,因为我无法输入 break 或 continue,因为它不是 for 循环。我之前发布了这个,一旦错误消息离开,我认为这就是它的结束。很抱歉再次发布它。提前致谢。
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using System.Text;
public class podControl : MonoBehaviour {
public Transform [] spawns;
public float spawnTime = 6f;
public float secondSpawnTime = 3f;
public GameObject podPrefab;
void Start ()
{
InvokeRepeating ("landingPod", spawnTime, secondSpawnTime);
}
void landingPod ()
{
int spawnIndex = Random.Range (0, spawns.Length);
if (spawns[spawnIndex] != null) {
Instantiate (podPrefab, spawns [spawnIndex].position, spawns [spawnIndex].rotation);
}
else {
if (spawns [spawnIndex] = null)
return;
}
}
}