很抱歉出现新手问题。
我想从五个随机生成点之一生成随机平台。平台将向上浮动,玩家将跳上平台。
例如,一个平台有一个敌人,一个平台有一个硬币,一个平台有一个硬币和一个敌人,一个平台是空的。随机平台可以从五个点随机产生。
我的代码的一次迭代可以使平台从随机点生成,但是它只能在一个平台上工作。我还没有弄清楚如何添加多个平台并随机生成它们。
public class RandomSpawn : MonoBehaviour
{
public Transform[] points;
public GameObject[] obstacles;
public float invokeRate = 1.0f;
public GameObject platform;
int spawnNum = Random.Range(0, 5);
int prefabNum = Random.Range(0, 3);
private void Start()
{
InvokeRepeating("AllSpawn", 1.0f, invokeRate);
}
void AllSpawn()
{
Instantiate(obstacles[prefabNum], points[spawnNum].position, Quaternion.identity);
}
}
上面的代码仅从一个地方生成一种平台。我已经向阵列添加了多个平台,但是只有一个会生成。
答案 0 :(得分:1)
int spawnNum = Random.Range(0, 5);
和int prefabNum = Random.Range(0, 3);
都只初始化一次,因此它们将始终保持相同的值,并且永远不会更改为新的随机数。
我建议进行此更改:
private void AllSpawn()
{
Instantiate(
obstacles[Random.Range(0, obstactles.Length)],
points[Random.Range(0, points.Length)].position,
Quaternion.identity
);
}