基本上我做了一个非常简单的游戏,有一些块掉落,我有基本的C#知识,但我不能自己弄清楚我会怎么做。基本上我在中间,左边和右边放一个3块,你必须避免。我已经制作了一个实例化脚本,可以在1到4秒内随机生成每个生成位置,但有时它会不小心产生所有3个!我只需要检查一下是否已经在左侧和右侧生成了2个,然后不在中间生成一个,反之亦然。你们能帮助我吗?谢谢!顺便说一下,这是我当前的spawn脚本。
android:layout_toEndOf
编辑:
public GameObject spawn;
private float spawnTime;
void Start()
{
spawnTime = Random.Range(1, 5);
Invoke("Spawn", spawnTime);
}
void Spawn()
{
spawnTime = Random.Range(1, 5);
Instantiate(spawn, transform.position, Quaternion.identity);
Invoke("Spawn", spawnTime);
}
public class randomSpawner:MonoBehaviour {
using UnityEngine;
}
答案 0 :(得分:0)
您可以在块上添加一个标记,例如Block
,然后在实例化之前执行GameObject.FindGameObjectsWithTag("Block");
,这将返回一个数组,然后您只需验证该数组的长度。
void Spawn()
{
if(GameObject.FindGameObjectsWithTag("Block").Length < 2){
Instantiate(spawn, transform.position, Quaternion.identity);
}
spawnTime = Random.Range(1, 5);
Invoke("Spawn", spawnTime);
}
您还可以拥有一个static
变量,在生成块时递增,在销毁块时递减。