第二天完成的部分是士兵生产。
1.建立空的Spawn
在Hierarchy新建一个Empty Object
Capture.PNG
然后新建C# Script文件SoldierSpawn并拖到Empty Object上。
2.代码部分
打开SoldierSpawn.cs
basicSoldierPrefab为生产的单位,repeatTimer为生产的间隔时间
public GameObject basicSoldierPrefab;
float range = 5.0f;
float repeatTimer = 1f;
创建函数spawn(),它会在spawnObject的位置,通过Instantiate函数生成basicSoldier。
public void Spawn()
{
Vector3 pos = new Vector3(transform.position.x + Random.Range(-range, range) + 5, transform.position.y, transform.position.z + Random.Range(-range, range));
Instantiate(basicSoldierPrefab, pos, transform.rotation);
}
最后在start内通过通过InvokeRepeating()函数重复运行Spawn()函数。
void Start()
{
InvokeRepeating("Spawn", 1.0f, repeatTimer);
}
3.创建basicSoldierPrefab。
在Hierarchy中新建一个cube,命名为soldier1,然后为cube添加rigidbody,将其保存为prefab后,拖到SoldierSpawn()的basicSoldierPrefab上。
2.PNG
4.完成运行
可以看到在蓝色的部分自动生成更多的小方块了。
3.PNG