当前位置: 代码迷 >> 综合 >> Enemy的创建
  详细解决方案

Enemy的创建

热度:17   发布时间:2023-09-30 09:15:41.0

先创建一个Empty,创建位置

创建一个脚本,并把prefbs加进去,脚本如下:

using UnityEngine;
using System.Collections;
using System.Collections.Generic;public class SpawnManager : MonoBehaviour {public static SpawnManager _instance;public EnemySpawn[] monsterSpawnArray;public EnemySpawn[] bossSpawnArray;public List<GameObject> enemyList = new List<GameObject>();public AudioClip victoryClip;void Awake() {_instance = this;}// Use this for initializationvoid Start () {StartCoroutine(Spawn());}IEnumerator Spawn() {//第一波敌人的生成foreach (EnemySpawn s in monsterSpawnArray) {enemyList.Add(s.Spawn());}while(enemyList.Count>0){yield return new WaitForSeconds(0.2f);}//第二波敌人的产生foreach (EnemySpawn s in monsterSpawnArray) {enemyList.Add(s.Spawn());}yield return new WaitForSeconds(0.5f);foreach (EnemySpawn s in monsterSpawnArray) {enemyList.Add(s.Spawn());}while(enemyList.Count>0){yield return new WaitForSeconds(0.2f);}//第三波敌人的产生foreach (EnemySpawn s in monsterSpawnArray) {enemyList.Add(s.Spawn());}yield return new WaitForSeconds(0.5f);foreach (EnemySpawn s in monsterSpawnArray) {enemyList.Add(s.Spawn());}yield return new WaitForSeconds(0.5f);foreach(EnemySpawn s in bossSpawnArray ){enemyList.Add(s.Spawn());}while (enemyList.Count > 0) {yield return new WaitForSeconds(0.2f);}//游戏胜利AudioSource.PlayClipAtPoint(victoryClip, transform.position, 1f);}}


  相关解决方案